;++
;
;  Copyright (c) 2000-2001  Microsoft Corporation
;
;  Module Name:
;
;     bldr.inc
;
;  Abstract:
;
;     This module contains shared constants for the various boot loaders.
;
;--

;
; Define the starting physical address where the ROM decrypts the boot loader
;

BLDR_BOOT_ORIGIN                    EQU     00090000h

;
; Define the starting physical address where the boot loader relocates itself
;

BLDR_RELOCATED_ORIGIN               EQU     00400000h

;
; Initialize any page table entries with valid, write, accessed, and dirty.
;

BLDR_VALID_KERNEL_PTE_BITS          EQU     063h

;
; Initialize any page table entries with valid, write, accessed, large page, and dirty.
;

BLDR_VALID_KERNEL_LARGE_PTE_BITS    EQU     0E3h

;
; Initialize any page table entries with valid, write, accessed, large page, 
; cache disabled, write through, and dirty.
;

BLDR_VALID_KERNEL_LARGE_PTE_UC_BITS  EQU    0FBh


;
; Origin for the processor reset vector.
;

BOOT_CODE_ORIGIN                    EQU     0FE00h

;
; Size of the rom loader (must match BLDR_BLOCK_SIZE in bldr.h).
;

ROMLDR_SIZE                         EQU     6000h

;
; Size of the rom preloader (must match PRELDR_BLOCK_SIZE in bldr.h).
;

ROMPRELDR_SIZE                      EQU     2A00h

;
; Signature in the rom loader (must match BLDR_SIGNATURE in bldr.h)
;

ROMLDR_SIGNATURE                    EQU     7854794Ah

;
; Size of the XBOOT_PARAM structure defined in bldr.h
;

ROMLDR_BOOTPARAMSIZE                EQU     28

;
; ROMDEC hash address and nonce
;

ROMDEC_HASH                         EQU     88
ROMDEC_N                            EQU     100

;
; ROMDEC key size in bytes
;

ROMDEC_KEYSIZE                      EQU     16

;
; linear address for ROMDEC stack
;

ROMDEC_STACK                        EQU     8F000h

;
; linear address for RC4 key structure (258 bytes)
;

ROMDEC_KEYSTRUCT                    EQU     8F000h

;
; linear address for the start of the ROMDEC code block (top 512 bytes of
; the address space)
;

ROMDEC_STARTADDRESS                 EQU     0FFFFFE00h

;
; ROMDEC buffer size to decrypt
;

ROMDEC_BUFFERSIZE                   EQU     ROMLDR_SIZE

;
; liner address for input buffer used in encryption
;

ROMDEC_INPUTBUFFER                  EQU     (ROMDEC_STARTADDRESS - ROMLDR_SIZE)

;
; liner address for output buffer used in encryption
;

ROMDEC_OUTPUTBUFFER                 EQU     BLDR_BOOT_ORIGIN

;
; linear address for the init table
;

ROMDEC_INIT_TABLE                   EQU     0FF000080h

