ROMFLAGS

ROMFLAGS specifies a bitmask of flag options for the kernel.

ROMFLAGS = Flags

Parameters

  • Flags
    Specifies a bitmask of flags, which may be a combination of the values given in the following table.
    Flag Description
    0x00000001 Demand paging is disabled.
    0x00000002 Disable full-kernel mode.
    0x00000010 Trust only modules from the ROM MODULES section.
    0x00000020 Use this flag to stop flushing soft TLB - x86 only.
    0x00000040 Honor the /base linker setting for DLLs.

Remarks

Demand paging is disabled when the first bit of ROMFLAGS is set. When demand paging is disabled, a module will be fully loaded into RAM before running. For OEMs that need real-time performance, turning off demand paging will eliminate page faults that can cause poor performance.

Full-kernel mode is disabled when the second bit ROMFLAGS is set. You can run all of the OS threads in either kernel mode or user mode.

Although running threads in kernel mode leaves the entire system vulnerable, it also enables increased performance. This is because Windows CE bypasses security features that can prevent a thread from entering kernel mode. This might be acceptable in a closed environment, but in an open environment this can have dramatic effects that an OEM must consider.

Trust module marks only files in ROM as trusted. The OEM code is not used to determine whether a non-ROM module is trusted.

By default, everything in the ROM MODULES section and anything that loads from a file system is trusted unless the OEM enables the OAL for module-by-module checking.

The 0x00000010 bit can be used to signal to the kernel that only ROM MODULES are trusted by default and that they do not require the OAL to be enabled.

For security reasons, the kernel will flush the x86 TLB. The bit 0x00000020 will prevent this from happening, but will enable a security hole. If real-time performance is required without any security concerns, this flag should be set.

Loading a DLL at its preferred load address releases the kernel from relocating the DLL and using extra memory.

However, there can be a potential backward compatibility issue. DLL binaries might exist that set their preferred load address really low and, thus, cannot be loaded.

OEMs should use caution when enabling this flag and are encouraged to use it only for closed environments.

This flag is not needed if all DLLs are XIP.

See Also

CONFIG Section

 Last updated on Friday, October 08, 2004

© 1992-2003 Microsoft Corporation. All rights reserved.