Share via


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

1/5/2010

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

Concepts

x86 ROM Boot Loader