bootarg.h
上传用户:qiulin1960
上传日期:2013-10-16
资源大小:2844k
文件大小:4k
源码类别:

Windows CE

开发平台:

Windows_Unix

  1. /*++
  2. THIS CODE AND INFORMATION IS PROVIDED "AS IS" WITHOUT WARRANTY OF
  3. ANY KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING BUT NOT LIMITED TO
  4. THE IMPLIED WARRANTIES OF MERCHANTABILITY AND/OR FITNESS FOR A
  5. PARTICULAR PURPOSE.
  6. Copyright (c) 1995-2000 Microsoft Corporation.  All rights reserved.
  7. Module Name:
  8.     bootarg.h
  9. Abstract:
  10.     Definitions for arguments passed by loadcepc at boot time.
  11. Notes:
  12. --*/
  13. #ifndef _BOOTARG_H
  14.     #define _BOOTARG_H
  15.     #include <halether.h>
  16. // Contains a pointer to the actual boot args structure
  17.     #define BOOT_ARG_PTR_LOCATION   0x801FFFFC
  18. typedef struct _BOOT_ARGS {
  19.     UCHAR   ucVideoMode;
  20.     UCHAR   ucComPort;
  21.     UCHAR   ucBaudDivisor;
  22.     UCHAR   ucPCIConfigType;
  23.     // The following args are not set by older versions of loadcepc,
  24.     // so include a sig to verify that the remaining params are valid.
  25.     // Also, include a length to allow expansion in the future.
  26.     DWORD   dwSig;
  27.     #define BOOTARG_SIG  0x544F4F42 // "BOOT"
  28.     DWORD   dwLen;              // Total length of boot args struct
  29.     UCHAR   ucLoaderFlags;      // Flags set by loader
  30.     UCHAR   ucEshellFlags;      // Flags from eshell
  31.     UCHAR   ucEdbgAdapterType;  // Type of debug Ether adapter
  32.     UCHAR   ucEdbgIRQ;          // IRQ line to use for debug Ether adapter
  33.     DWORD   dwEdbgBaseAddr;     // Base I/O address for debug Ether adapter
  34.     DWORD   dwEdbgDebugZone;    // Allow EDBG debug zones to be turned on from loadcepc
  35.     // The following is only valid if LDRFL_ADDR_VALID is set
  36.     EDBG_ADDR EdbgAddr;         // IP/ether addr to use for debug Ethernet
  37.     // The following addresses are only valid if LDRFL_JUMPIMG is set, and corresponding bit in
  38.     // ucEshellFlags is set (configured by eshell, bit definitions in ethdbg.h).
  39.     EDBG_ADDR EshellHostAddr;   // IP/ether addr and UDP port of host running eshell
  40.     EDBG_ADDR DbgHostAddr;      // IP/ether addr and UDP port of host receiving dbg msgs
  41.     EDBG_ADDR CeshHostAddr;     // IP/ether addr and UDP port of host running ether text shell
  42.     EDBG_ADDR KdbgHostAddr;     // IP/ether addr and UDP port of host running kernel debugger
  43.     DWORD DHCPLeaseTime;        // Length of DHCP IP lease in seconds
  44.     DWORD EdbgFlags;            // Information about the ethernet system
  45. DWORD dwEBootFlag; // Eboot flags indicating whether EBoot supports warm reset (older version may not)
  46. DWORD dwEBootAddr; // Eboot entry point set by eboot and used during warm reset
  47. DWORD dwLaunchAddr; // Old image launch address saved by EBoot when it receives jmpimage
  48. // The following args added to support passing info to flat framebuffer display driver
  49. DWORD pvFlatFrameBuffer; // pointer to flat frame buffer
  50. WORD vesaMode; // VESA mode being used
  51. WORD cxDisplayScreen; // displayable X size
  52. WORD cyDisplayScreen; // displayable Y size
  53. WORD cxPhysicalScreen; // physical X size
  54. WORD cyPhysicalScreen; // physical Y size
  55. WORD cbScanLineLength; // scan line byte count
  56. WORD bppScreen; // color depth
  57. UCHAR RedMaskSize; // size of red color mask
  58. UCHAR RedMaskPosition; // position for red color mask
  59. UCHAR GreenMaskSize; // size of green color mask
  60. UCHAR GreenMaskPosition; // position for green color mask
  61. UCHAR BlueMaskSize; // size of blue color mask
  62. UCHAR BlueMaskPosition; // position for blue color mask
  63. } BOOT_ARGS, *PBOOT_ARGS;
  64. // Defs for loader flags
  65.     #define    LDRFL_USE_EDBG    0x0001  // Set to attempt to use debug Ethernet
  66. // The following two flags are only looked at if LDRFL_USE_EDBG is set
  67.     #define    LDRFL_ADDR_VALID  0x0002  // Set if EdbgAddr field is valid
  68.     #define    LDRFL_JUMPIMG     0x0004  // If set, don't communicate with eshell to get
  69. // configuration, use ucEshellFlags field.
  70. // Use this constant in EdbgIRQ to specify that EDBG should run without an interrupt.
  71.     #define EDBG_IRQ_NONE  0xFF
  72. #endif // _BOOTARG_H