Uploaded image for project: 'Core ReactOS'
  1. Core ReactOS
  2. CORE-20374

VideoPortMapMemory(): Handle VIDEO_MEMORY_SPACE_IO flag

    XMLWordPrintable

Details

    • Improvement
    • Resolution: Unresolved
    • Major
    • None
    • None
    • None

    Description

      (Noticed while looking at CORE-20298.)

      https://learn.microsoft.com/en-us/windows-hardware/drivers/ddi/video/nf-video-videoportmapmemory

      VIDEO_MEMORY_SPACE_DENSE Obsolete.
      // ...
      VIDEO_MEMORY_SPACE_P6CACHE ... This flag is meaningful only if VIDEO_MEMORY_SPACE_IO is not set.
      VIDEO_MEMORY_SPACE_USER_MODE ... This flag is meaningful only if VIDEO_MEMORY_SPACE_IO is not set.

      https://git.reactos.org/?p=reactos.git&a=search&h=master&st=grep&s=VIDEO_MEMORY_SPACE_

      sdk/include/ddk/video.h	
       132 #define VIDEO_MEMORY_SPACE_MEMORY         0x00
       133 #define VIDEO_MEMORY_SPACE_IO             0x01
       134 #define VIDEO_MEMORY_SPACE_USER_MODE      0x02
       135 #define VIDEO_MEMORY_SPACE_DENSE          0x04
       136 #define VIDEO_MEMORY_SPACE_P6CACHE        0x08
      win32ss/drivers/miniport/bochs/bochsmp.c	
       242     ULONG MemSpace = VIDEO_MEMORY_SPACE_MEMORY;
       497                                                                  ? VIDEO_MEMORY_SPACE_IO
       498                                                                  : VIDEO_MEMORY_SPACE_MEMORY);
      // ...
      win32ss/drivers/videoprt/resource.c	
       299    InIoSpace &= ~VIDEO_MEMORY_SPACE_DENSE;
       301    if (ProcessHandle != NULL && (InIoSpace & VIDEO_MEMORY_SPACE_USER_MODE) == 0)
       304              "VIDEO_MEMORY_SPACE_USER_MODE set! Setting "
       305              "VIDEO_MEMORY_SPACE_USER_MODE.\n",
       307       InIoSpace |= VIDEO_MEMORY_SPACE_USER_MODE;
       309    else if (ProcessHandle == NULL && (InIoSpace & VIDEO_MEMORY_SPACE_USER_MODE) != 0)
       312              "VIDEO_MEMORY_SPACE_USER_MODE set! Setting ProcessHandle "
       318    if ((InIoSpace & VIDEO_MEMORY_SPACE_USER_MODE) == 0 &&
       343    AddressSpace &= ~(VIDEO_MEMORY_SPACE_USER_MODE | VIDEO_MEMORY_SPACE_P6CACHE);
       368    if ((InIoSpace & VIDEO_MEMORY_SPACE_USER_MODE) != 0)
       372       if (InIoSpace & VIDEO_MEMORY_SPACE_P6CACHE)
       405       if ((InIoSpace & VIDEO_MEMORY_SPACE_USER_MODE) == 0)
      

      In case current code would be fine as is, add a code comment to explain why VIDEO_MEMORY_SPACE_IO can be "ignored".

      While here, add a comment, like 'Remove obsolete flag' to
      https://git.reactos.org/?p=reactos.git;a=blob;f=win32ss/drivers/videoprt/resource.c;hb=70119785be37da055ce66bc06430ee875f8051c0#l299

       299    InIoSpace &= ~VIDEO_MEMORY_SPACE_DENSE;
      

      Attachments

        Activity

          People

            Unassigned Unassigned
            Serge Gautherie Serge Gautherie
            Votes:
            0 Vote for this issue
            Watchers:
            0 Start watching this issue

            Dates

              Created:
              Updated: