Share via


x86 ROM Boot Loader Porting to Other x86 Hardware Platforms (Windows CE 5.0)

Send Feedback

The minimum changes required to add support for a new x86 hardware platform are listed in the following tables. Other changes might be required based on the chosen hardware platform.

  • The following table shows the functions, listed in the calling order, which need to be implemented for the new hardware platform.
    Function Description
    BridgeConfig Required.

    This function performs the initial northbridge configuration, setting up the host bridge registers, programming the SDRAM controller, and so on.

    The microprocessor executes in protected mode at this point and the stack is available.

    BridgePrintConfig Required.

    This function optionally displays bridge configuration information.

    PlatformInit Required.

    This function performs any southbridge, super I/O, and ancillary hardware platform configuration.

  • The following table shows the global variables that need to be defined to support the PCI enumeration process. The global variables define the valid range of memory and I/O address available to the enumerator for assignment to PCI functions.
    Global variable Description
    ULONG g_nPCI_BUS0_MEM_BASE Base memory space address.
    ULONG g_nPCI_BUS0_MEM_LIMIT Limit memory space address.
    ULONG g_nPCI_BUS0_IO_BASE Base I/O space address.
    ULONG g_nPCI_BUS0_IO_LIMIT Limit I/O space address.
  • The network adapter type, defined in the boot arguments, and shared memory between the loader and the OS, in function InitBootArgs, should be updated to accurately reflect the hardware platform download and debug Ethernet card NIC.
  • Boot.bib should be reviewed against the new hardware platform's memory configuration. The sources file might also need to be updated to include the new hardware platform library.

See Also

x86 ROM Boot Loader

Send Feedback on this topic to the authors

Feedback FAQs

© 2006 Microsoft Corporation. All rights reserved.