;
; Copyright (c) Microsoft Corporation.  All rights reserved.
;
;
; Use of this sample source code is subject to the terms of the Microsoft
; license agreement under which you licensed this sample source code. If
; you did not accept the terms of the license agreement, you are not
; authorized to use this sample source code. For the terms of the license,
; please see the license agreement between you and Microsoft or, if applicable,
; see the LICENSE.RTF on your install media or the root of your tools installation.
; THE SAMPLE SOURCE CODE IS PROVIDED "AS IS", WITH NO WARRANTIES.
;
MEMORY

    #if defined IMGRAM64
        ; 64 MB of RAM (note: AUTOSIZE will adjust boundary)
        NK       80220000  009E0000  RAMIMAGE
        RAM      80C00000  03400000  RAM
    #elif defined IMGRAM128
        ; 128 MB of RAM (note: AUTOSIZE will adjust boundary)
        NK       80220000  009E0000  RAMIMAGE
        RAM      80C00000  07100000  RAM
        nk.exe:dwOEMTotalRAM 0    08000000  FIXUPVAR
    #elif defined IMGRAM256
        ; 256 MB of RAM (note: AUTOSIZE will adjust boundary)
        NK       80220000  009E0000  RAMIMAGE
        RAM      80C00000  0F300000  RAM
        nk.exe:dwOEMTotalRAM 0    10000000  FIXUPVAR
    #elif defined IMGRAM512
        ; 512 MB of RAM (note: AUTOSIZE will adjust boundary)
        NK       80220000  009E0000  RAMIMAGE
        RAM      80C00000  1E000000  RAM
        nk.exe:dwOEMTotalRAM 0    20000000  FIXUPVAR
    #else
        ; 64 MB of RAM (default) (note: AUTOSIZE will adjust boundary)
        ; This value will cause the RAM auto-detect feature to trigger
        NK       80220000  009E0000  RAMIMAGE
        RAM      80C00000  03400000  RAM
    #endif

    DMA       80100000  00030000  RESERVED   ; Native DMA reserved.
    BOOTARGS  801FFF00  00000100  RESERVED   ; Boot arguments
    EDBG_DMA  80200000  00020000  RESERVED   ; EDBG DMA buffer
    FRAMEBUF  800A0000  00020000  RESERVED
    NSCIRDA   801BC000  00020000  RESERVED
    AUDIOBUF  801FC000  00002000  RESERVED
    LOADRBUF  801FFF00  00000100  RESERVED


; Hard reset the system on a software reboot?
;
IF BSP_HARDRESET
    nk.exe:pdwHardReset        00000000          1       FIXUPVAR
ELSE
    nk.exe:pdwHardReset        00000000          0       FIXUPVAR
ENDIF

; This fix-up variable is a bitfield that can be used to initialize
; the OAL debug zones per oal_log.h.  Uncomment the line and
; change the hexadecimal bits to enable the desired zones.  The
; default value (0x0000000B) enables the OAL_LOG_ERROR,
; OAL_LOG_WARN, and OAL_LOG_INFO zones, and will be used by
; OEMInit if the line remains commented out.
;
;  nk.exe:initialOALLogZones     00000000 0x0000000B       FIXUPVAR

; This fix-up variable is a bitfield that can be used to initialize
; the Kernel debug zones per kernel.h.  Uncomment the line and
; change the hexadecimal bits to enable the desired zones.  The
; default value (0x00000100) enables the ZONE_DEBUG.
;
; kernel.dll:initialKernelLogZones 00000000 00000110       FIXUPVAR

; This fix-up variable determines the amount of memory the BSP
; reserves for Watson dump capture.  The current default behavior is
; to default to zero unless the image has SYSGEN_WATSON_DMPGEN
; defined.  The default size is 300KiB.
;
; @CESYSGEN IF CE_MODULES_OSAXST0
; @CESYSGEN ENDIF

CONFIG
   AUTOSIZE=ON

; @CESYSGEN IF !NK_NKNOCOMP
    COMPRESSION=ON
; @CESYSGEN ENDIF !NK_NKNOCOMP
; @CESYSGEN IF NK_NKNOCOMP
; @CESYSGEN ENDIF NK_NKNOCOMP

IF IMGPROFILER
   PROFILE=ON
ELSE
   PROFILE=OFF
ENDIF

   KERNELFIXUPS=ON

IF IMGPERSISTENTSTORAGE
    FSRAMPERCENT=0x00000010
ENDIF

IF IMGTINYFSRAM
    FSRAMPERCENT=0x00000080
ENDIF

IF IMG_SMARTFON_TINYFS
    FSRAMPERCENT=0x000000ff
ENDIF

;
; ROMFLAGS is a bitmask of options for the kernel
;   ROMFLAGS    0x0001  Disallow Paging
;   ROMFLAGS    0x0010  Trust Module only
;
IF IMGTRUSTROMONLY
    ROMFLAGS=10
ELSE
    ROMFLAGS=0
ENDIF


IF _TGTCPUFAMILY=x86
    ROMOFFSET=80000000
ENDIF

