[OpenBIOS] r370 - cpu/x86/pc/olpc

svn at openbios.org svn at openbios.org
Sat May 12 03:13:44 CEST 2007


Author: wmb
Date: 2007-05-12 03:13:43 +0200 (Sat, 12 May 2007)
New Revision: 370

Added:
   cpu/x86/pc/olpc/gxmsrs.fth
   cpu/x86/pc/olpc/lxmsrs.fth
Modified:
   cpu/x86/pc/olpc/chipinit.fth
Log:
OLPC - Split the GX and LX MSR tables out into separate files.



Modified: cpu/x86/pc/olpc/chipinit.fth
===================================================================
--- cpu/x86/pc/olpc/chipinit.fth	2007-05-09 18:42:59 UTC (rev 369)
+++ cpu/x86/pc/olpc/chipinit.fth	2007-05-12 01:13:43 UTC (rev 370)
@@ -28,561 +28,9 @@
    pop-base
 ;
 
-create gx-msr-init
-\ Memsize-dependent MSRs are set in the early startup code
+fload ${BP}/cpu/x86/pc/olpc/gxmsrs.fth
+fload ${BP}/cpu/x86/pc/olpc/lxmsrs.fth
 
-\ CPU
-msr: 0000.1210 00000000.00000001.  \ GX p 121 Suspend on halt
-msr: 0000.1900 00000000.00001131.  \ GX p 174 Default + SUSP + TSC_SUSP
-msr: 0000.1a00 00000000.00000001.  \ GX p 178 Imprecise exceptions
-
-\ northbridgeinit: GLIUS
-\ Already mapped in early startup
-\ msr: 1000.0020 20000000.000fff80.   \ 0 - 7.ffff low RAM
-msr: 1000.0022 a00000fe.000ffffc.   \ fe00.0000 - fe00.3fff GP
-msr: 1000.0023 c00000fe.008ffffc.   \ fe00.8000 - fe00.bfff VP
-\ msr: 1000.0024 80000000.0a0fffe0.   \ 000a.0000 - 000b.ffff DC Don't need EGA frame buffer
-
-\ msr: 1000.0025 000000ff.fff00000.   \ Unmapped - default
-
-\ SMM memory (fbe) (40. is SMM_OFFSET)
-\ msr: 1000.0026 2c7be040.400fffe0.   \ 4040.0000 - 405f.ffff relocated to 7fe.0000 - Memsize dependent
-\ msr: 1000.0027 000000ff.fff00000.   \ Unmapped - default
-\ msr: 1000.0028 20000007.7df00100.   \ 10.000 - 077d.f000 High RAM - Memsize dependent
-
-\ Graphics
-\ msr: 1000.0029 20a7e0fd.7fffd000.   \ fd00.0000 - fd7f.ffff mapped to 77e.0000 Memsize dependent (Frame Buffer)
-msr: 1000.002a 801ffcfe.007fe004.   \ fe00.4000 - fe00.7fff mapped to 0 in DC space
-
-\ msr: 1000.002b 00000000.000fffff.   \ Unmapped - default
-\ msr: 1000.002c 20000000.f0000003.   \ f.0000 - f.ffff Read only to expansion ROM XXX
-
-msr: 1000.0080 00000000.00000003.   \ Coherency
-msr: 1000.0083 00000000.0000ff00.   \ Disable SMIs
-msr: 1000.0084 00000000.0000ff00.   \ Disable Async errors
-
-\ msr: 1000.00e0 80000000.3c0ffff0.   \ IOD_BM DC - VGA registers
-\ msr: 1000.00e1 80000000.3d0ffff0.   \ IOD_BM DC - VGA registers
-\ msr: 1000.00e3 00000000.f030ac18.   \ IOD_SC - Virtual Register - ac1c-ac1f
-
-msr: 1000.2002 0000001f.0000001f.   \ Disables SMIs
-msr: 1000.2004 00000000.00000005.   \ Clock gating
-
-\ DMA incoming maps
-\ X msr: 4000.0020 20000000.000fff80.   \ 0 - 7.ffff low RAM
-\ X msr: 4000.0021 20000000.080fffe0.   \ 8.0000 - 9.ffff low RAM
-msr: 4000.0020 20000000.000fff00.   \ 0 - f.ffff low RAM, route to GLIU0
-msr: 4000.0022 200000fe.000ffffc.   \ fe00.0000 - fe00.03ff GP, route to GLIU0
-\ msr: 4000.0023 20000040.400fffe0.   \ 4040.0000 - 4041.ffff SMM memory, route to GLIU0
-msr: 4000.0024 200000fe.004ffffc.   \ fe00.4000 - fe00.7fff DC, route to GLIU0
-msr: 4000.0025 200000fe.008ffffc.   \ fe00.8000 - fe00.bfff VP, route to GLIU0
-\ msr: 4000.0026 20000000.0a0fffe0.   \ 000a.0000 - 000b.ffff DC in low mem;  XXX - no DOS frame  buffer
-\ msr: 4000.0027 000000ff.fff00000.   \ Unmapped - default
-\ msr: 4000.0028 000000ff.fff00000.   \ Unmapped - default
-\ msr: 4000.0029 20000007.7df00100.   \ 10.0000 - 0f7d.f000 High RAM - Memsize dependent
-msr: 4000.002a 200000fd.7fffd000.   \ frame buffer - fd00.0000 .. fd7f.ffff, route to GLIU0
-\ msr: 4000.002d 20000000.f0000003.   \ 000f.0000 - 000f.ffff expansion ROM; XXX - no expansion ROM
-msr: 4000.0080 00000000.00000001.   \ Route coherency snoops from GLIU1 to GLIU0
-msr: 4000.0083 00000000.0000ff00.   \ Disable SMIs
-
-\ msr: 4000.00e0 20000000.3c0fffe0.   \ IOD_BM DC - VGA
-msr: 4000.00e3 60000000.033000f0.   \ GLCP - Ports f0 and f1 incoming (clear FP IRQ13)
-msr: 4000.2002 0000001f.0000001f.   \ Disables SMIs
-msr: 4000.2004 00000000.00000005.   \ Clock gating
-
-\ GeodeLink Priority Table
-msr: 0000.2001 00000000.00000220.
-msr: 4c00.2001 00000000.00000001.
-msr: 5000.2001 00000000.00000027.
-msr: 5800.2001 00000000.00000000.
-msr: 8000.2001 00000000.00000320.
-
-msr: 5400.2001 00000000.00000000.  \ In GX, 5400.xxxx is FooGlue, in LX it is VIP
-msr: c000.2001 00000000.00040f80.
-msr: c000.2004 00000000.00000155.  \ Clock gating
-\ msr: c000.2001 00000000.00040f80.  \ DF config.  - Already set
-
-\ Region config
-\ msr: 1808 25fff002.1077e000.  \ Memsize dependent
-\ msr: 180a 00000000.00000000.
-msr: 1800 00002000.00000022.  \ Data memory - 2 outstanding write ser.,
-                              \ INVD => WBINVD, serialize load misses.
-msr: 180a 00000000.00000011.  \ Disable cache for table walks
-msr: 1810 fd7ff000.fd000111.  \ Video (write through)
-msr: 1811 fe003000.fe000101.  \ GP
-msr: 1812 fe007000.fe004101.  \ DC
-msr: 1813 fe00b000.fe008101.  \ VP
-
-\ PCI
-\ msr: 50002000 00000000.00105001. \ RO
-msr: 5000.2001 00000000.00000027. \ Priority 2, domain 7
-msr: 5000.2002 00000000.003f003f. \ No SMIs, please
-msr: 5000.2003 00000000.00370037. \ No ERRs, please
-msr: 5000.2004 00000000.00000015. \ Clock gating for 3 clocks
-msr: 5000.2005 00000000.00000000. \ Enable some PCI errors
-msr: 5000.2010 fff030f8.001a0215.
-msr: 5000.2011 00000300.00000100. \ GLPCI_ARB
-msr: 5000.2014 00000000.00f000ff.
-msr: 5000.2015 35353535.35353535.
-msr: 5000.2016 35353535.35353535.
-msr: 5000.2017 35353535.35353535.
-msr: 5000.2018 0009f000.00000130.
-\ msr: 5000.2019 077df000.00100130.  \ Memsize dependent
-msr: 5000.201a 4041f000.40400120.
-msr: 5000.201b 00000000.00000000.
-msr: 5000.201c 00000000.00000000.
-msr: 5000.201e 00000000.00000f00.
-msr: 5000.201f 00000000.0000004b.
-\ msr: 5000.201f 00000000.0000006b.  \ Set below in bug workaround
-\ We don't need posted I/O writes to IDE, as we have no IDE
-
-\ clockgating
-\ msr: 5400.2004 00000000.00000000.  \ Clock gating - default
-\ msr: 5400.2004 00000000.00000003.  \ Clock gating
-
-\ cpu/amd/model_gx2/cpubug.c
-
-\ pcideadlock();
-
-\ CPU_DM_CONFIG0 - 1800 - already set correctly above
-\ Interlock instruction fetches to WS regions with data accesses
-msr: 00001700 00000000.00100000.
-
-\ We set all these to 0 (cacheable) because we
-\ don't use them for the traditional DOS legacy devices.
-msr: 0000180b 00000000.00000000. \ Regions a0000..bffff
-msr: 0000180c 00000000.00000000. \ Regions c0000..dffff
-msr: 0000180d 00000000.00000000. \ Regions e0000..fffff
-
-\ eng1398();
-msr: 2000.2004 00000000.00000003.  \ early setup uses 1, eng1398 changes to 3
-
-\ eng2900();
-msr: 0000.3003 0080a13d.00000000. \ Disables sysenter/sysexit in CPUID3
-
-\ This is the Branch Target Buffer workaround
-\ swapsif thing - don't do this stuff for use with FS2
-msr: 4c00.005f 00000000.00000000. \ Disable enable_actions in DIAGCTL while setting up GLCP
-msr: 4c00.0016 00000000.00000000. \ Changing DBGCLKCTL register to GeodeLink
-msr: 4c00.0016 00000000.00000002. \ Changing DBGCLKCTL register to GeodeLink
-msr: 1000.2005 00000000.80338041. \ Send mb0 port 3 requests to upper GeodeLink diag bits
-msr: 4c00.0045 5ad68000.00000000. \ set5m watches request ready from mb0 to CPU (snoop)
-msr: 4c00.0044 00000000.00000140. \ SET4M will be high when state is idle (XSTATE=11)
-msr: 4c00.004d 00002000.00000000. \ SET5n to watch for processor stalled state
-\ Writing action number 13: XSTATE=0 to occur when CPU is snooped unless we're stalled
-msr: 4c00.0075 00000000.00400000.
-msr: 4c00.0073 00000000.00030000. \ Writing action number 11: inc XSTATE every GeodeLink clock unless we're idle
-msr: 4c00.006d 00000000.00430000. \ Writing action number 5: STALL_CPU_PIPE when exitting idle state or not in idle state
-msr: 4c00.005f 00000000.80004000. \ Writing DIAGCTL Register to enable the stall action and to let set5m watch the upper GeodeLink diag bits.
-\ End swapsif thing
-
-\ bug118339();
-msr: 4c00.005f 00000000.00000000. \ Disable enable_actions in DIAGCTL while setting up GLCP
-msr: 4c00.0042 596b8000.00000a00. \ SET2M fires if VG pri is odd (3, not 2) and Ystate=0
-msr: 4c00.0043 596b8040.00000000. \ SET3M fires if MBUS changed and VG pri is odd
-msr: 1000.2005 00000000.80338041. \ Put VG request data on lower diag bus
-msr: 4c00.0074 00000000.0000c000. \ Increment Y state if SET3M if true
-msr: 4c00.0020 0000d863.20002000. \ Set up MBUS action to PRI=3 read of MBIU
-msr: 4c00.0071 00000000.00000c00. \ Trigger MBUS action if VG=pri3 and Y=0, this blocks most PCI
-msr: 4c00.005f 00000000.80004000. \ Writing DIAGCTL
-
-\ Already set above, but to wrong value
-msr: 4c00.0042 596b8008.00000a00. \ enable FS2 even when BTB and VGTEAR SWAPSiFs are enabled
-
-\ bug784();  Put "Geode by NSC" in the ID
-msr: 0000.3006 646f6547.80000006.
-msr: 0000.3007 79622065.43534e20.
-msr: 0000.3008 00000000.00000552.  \ Supposed to be same as msr 3002
-msr: 0000.3009 c0c0a13d.00000000.
-
-\ bug118253();
-\ msr: 5000.201f 00000000.0000006b.  \ Disable GLPCI PIO Post Control
-\ This is irrelevant because we don't use IDE, so posting to IDE ports is a don't care
-
-\ disablememoryreadorder();
-msr: 2000.0019 18000108.286332a3.
-
-\ chipsetinit(nb);
-
-\ set hd IRQ
-\	outl	(GPIOL_2_SET, GPIOL_INPUT_ENABLE);
-\	outl	(GPIOL_2_SET, GPIOL_IN_AUX1_SELECT);
-\	/*  Allow IO read and writes during a ATA DMA operation.*/
-\	/*   This could be done in the HD rom but do it here for easier debugging.*/
-\	100 ATA_SB_GLD_MSR_ERR msr-bitclr
-\	GLPCI_CRTL_PPIDE_SET GLPCI_SB_CTRL msr-bitset  \ Enable Post Primary IDE
-
-\ Set the prefetch policy for various devices
-msr: 5150.0001  0.00008f000.   \ AC97
-msr: 5140.0001  0.00000f000.   \ DIVIL
-
-\  Set up Hardware Clock Gating
-msr: 5102.4004  0.000000004.  \ GLIU_SB_GLD_MSR_PM
-msr: 5100.0004  0.000000005.  \ GLPCI_SB_GLD_MSR_PM
-msr: 5170.0004  0.000000004.  \ GLCP_SB_GLD_MSR_PM
-\ SMBus clock gating errata (PBZ 2226 & SiBZ 3977)
-msr: 5140.0004  0.050554111.  \ DIVIL
-msr: 5130.0004  0.000000005.  \ ATA
-msr: 5150.0004  0.000000005.  \ AC97
-
-\ setup_gx2();
-
-\ Don't need this, RCONF is already set, cache is already on
-\ .. size_kb = setup_gx2_cache();
-
-\ 1000.0026 is already set
-
-\ For now we will skip the real mode IDT setup and see if
-\ we can get away with it - no real mode interrupts.
-\ src/cpu/amd/model_gx2/vsmsetup.c:setup_realmode_idt();
-
-\ do_vsmbios();
-
-\ Graphics init
-msr: a000.2001 00000000.00000010.  \ GP config (priority)
-msr: a000.2002 00000001.00000001.  \ Disable GP SMI
-msr: a000.2003 00000003.00000003.  \ Disable GP ERR
-msr: a000.2004 00000000.00000001.  \ Clock gating
-msr: 8000.2001 00000000.00000320.  \ VG config (priority)
-msr: 8000.2002 0000001f.0000001f.  \ Disable SMIs
-msr: 8000.2003 0000000f.0000000f.  \ Disable ERRs
-\ msr: 8000.2004 00000000.00000000.  \ Clock gating - default
-\ msr: 8000.2004 00000000.00000055.  \ Clock gating
-msr: 8000.2011 00000000.00000001.  \ VG SPARE - VG fetch state machine hardware fix off
-msr: 8000.2012 00000000.06060202.  \ VG DELAY
-
-\ msr: 4c00.0015 00000037.00000001.  \ MCP DOTPLL reset; unnecessary because of later video init
-
-\ More GLCP stuff
-msr: 4c00.0021 00000000.0000001b.   \ GLD Action Data Control - undocumented
-msr: 4c00.0022 00000000.00001001.   \ GLD Action Data
-msr: 4c00.2004 00000000.00000005.   \ ( 15 GLCP_GLD_MSR_PM )
-
-msr: 5000.2014 00000000.00ffffff.  \ Enables PCI access to low mem
-
-\ 5536 region configs
-msr: 5100.0002 00000000.007f0000.  \ Disable SMIs
-msr: 5101.0002 0000000f.0000000f.  \ Disable SMIs
-
-\ msr: 5100.0010 44000020.00020013.  \ PCI timings - already set
-msr: 5100.0020 018b4001.018b0001.  \ Region configs
-msr: 5100.0021 010fc001.01000001.
-msr: 5100.0022 0183c001.01800001.
-msr: 5100.0023 0189c001.01880001.
-msr: 5100.0024 0147c001.01400001.
-msr: 5100.0025 0187c001.01840001.
-msr: 5100.0026 014fc001.01480001.
-msr: 5100.0027 fe01a000.fe01a001. \ OHCI
-msr: 5100.0028 fe01b000.fe01b001. \ EHCI
-msr: 5100.0029 efc00000.efc00001. \ UOC
-msr: 5100.002b 018ac001.018a0001.
-msr: 5100.002f 00084001.00084009.
-msr: 5101.0020 400000ef.c00fffff. \ P2D_BM0 UOC
-msr: 5101.0023 500000fe.01afffff. \ P2D_BMK Descriptor 0 OHCI
-msr: 5101.0024 400000fe.01bfffff. \ P2D_BMK Descriptor 1 EHCI
-msr: 5101.0083 00000000.0000ff00. \ Disable SMIs
-msr: 5101.00e0 60000000.1f0ffff8. \ IOD_BM Descriptor 0  ATA IO address
-msr: 5101.00e1 a0000001.480fff80. \ IOD_BM Descriptor 1
-msr: 5101.00e2 80000001.400fff80. \ IOD_BM Descriptor 2
-msr: 5101.00e3 80000001.840ffff0. \ IOD_BM Descriptor 3
-msr: 5101.00e4 00000001.858ffff8. \ IOD_BM Descriptor 4
-msr: 5101.00e5 60000001.8a0ffff0. \ IOD_BM Descriptor 5
-msr: 5101.00eb 00000000.f0301850. \ IOD_SC Descriptor 1
-
-msr: 5130.0008 00000000.000018a1. \ IDE_IO_BAR - IDE bus master registers
-
-msr: 5140.0002 0000fbff.00000000. \ Disable SMIs
-
-msr: 5140.0008 0000f001.00001880. \ LBAR_IRQ
-msr: 5140.0009 fffff001.fe01a000. \ LBAR_KEL (USB)
-msr: 5140.000b     f001.000018b0. \ LBAR_SMB
-msr: 5140.000c     f001.00001000. \ LBAR_GPIO
-msr: 5140.000d     f001.00001800. \ LBAR_MFGPT
-msr: 5140.000e     f001.00001840. \ LBAR_ACPI
-msr: 5140.000f     f001.00001400. \ LBAR_PMS
-msr: 5140.0010 fffff007.20000000. \ LBAR_FLSH0
-\ msr: 5140.0011  \ LBAR_FLSH1
-\ msr: 5140.0012  \ LBAR_FLSH2
-\ msr: 5140.0013  \ LBAR_FLSH3
-\ msr: 5140.0014 00000000.80070003. \ LEG_IO already set in romreset
-msr: 5140.0015 00000000.00000f7c. \ BALL_OPTS
-msr: 5140.001b 00000000.00100010. \ NANDF_DATA
-msr: 5140.001c 00000000.00000010. \ NANDF_CTL
-msr: 5140.001f 00000000.00000011. \ KEL_CTRL
-msr: 5140.0020 00000000.bb350a00. \ IRQM_YLOW
-msr: 5140.0021 00000000.04000000. \ IRQM_YHIGH
-msr: 5140.0022 00000000.00002222. \ IRQM_ZLOW
-msr: 5140.0023 00000000.600aa5b2. \ IRQM_ZHIGH
-msr: 5140.0025 00000000.00001002. \ IRQM_LPC
-\ msr: 5140.0028 00000000.000000ff. \ MFGPT_IRQ Leave this off
-msr: 5140.0040 00000000.00000000. \ DMA_MAP
-\ msr: 5140.004e 00000000.ef2500c0. \ LPC_SIRQ
-\ msr: 5140.004e 00000000.effd0080. \ LPC_SIRQ
-msr: 5140.004e 00000000.effd00c0. \ LPC_SIRQ
-
-\ USB host controller
-msr: 5120.0001 0000000b.00000000.  \ USB_GLD_MSR_CONFIG - 5536 page 262
-msr: 5120.0008 0000000e.fe01a000.  \ USB OHC Base Address - 5536 page 266
-msr: 5120.0009 0000000e.fe01b000.  \ USB EHC Base Address - 5536 page 266
-msr: 5120.000b 00000002.efc00000.  \ USB UOC Base Address - 5536 page 266
-
-\ Clear possible spurious USB Short Serial detect bit per 5536 erratum 57
-msr: 5120.0015 00000010.00000000.  \ USB_GLD_MSR_DIAG
-
-here gx-msr-init - constant /gx-msr-init
-
-create lx-msr-init
-\ Memsize-dependent MSRs are set in the early startup code
-
-\ CPU
-  msr: 0000.1100 00000100.00005051.  \ Branch tree messaging sync
-  msr: 0000.1210 00000000.00000003.  \ Suspend on halt and pause
-  msr: 0000.1900 00000000.02001131.  \ Pausedly 16 clocks, SUSP + TSC_SUSP
-  msr: 0000.1920 00000000.0000000f.  \ Enable L2 cache
-  msr: 0000.1930 00000000.00070303.  \ MSR_PMODE
-  msr: 0000.1981 00000000.2814d352.  \ MSS_ARRAY_CTL0 - cache timings - value from PRS
-  msr: 0000.1982 00000000.1068334d.  \ MSS_ARRAY_CTL1 - cache timings - value from PRS
-  msr: 0000.1983 00000106.83104104.  \ MSS_ARRAY_CTL2 - cache timings - value from PRS
-  msr: 0000.1a00 00000000.00000001.  \ Imprecise exceptions
-
-\ northbridgeinit: GLIUS
-\ msr: 1000.0020 20000000.000fff80.   \ 0 - 7.ffff low RAM Early startup
-\ msr: 1000.0024 000000ff.fff00000.   \ Unmapped - default
-  msr: 1000.0022 a00000fe.000ffffc.   \ fe00.0000 - fe00.3fff GP
-  msr: 1000.0023 400000fe.008ffff8.   \ fe00.8000 - fe00.bfff VP + VIP in GLIU1
-  msr: 1000.0024 400000fe.010ffffc.   \ fe01.0000 - fe01.3fff security block in GLIU1
-\ msr: 1000.0025 000000ff.fff00000.   \ Unmapped - default
-\ msr: 1000.0026 000000ff.fff00000.   \ Unmapped - default
-
-\ Graphics
-\ msr: 1000.0029 20a7e0fd.ffffd000.   \ fd00.0000 - fdff.ffff mapped to f00.0000 Memsize dependent, fbsize dependent
-  msr: 1000.002a 801ffcfe.007fe004.   \ fe00.4000 - fe00.7fff mapped to 0 in DC space
-
-\ msr: 1000.002b 00000000.000fffff.   \ Unmapped - default
-\ msr: 1000.002c 00000000.00000000.   \ Unmapped - default (Swiss Cheese)
-
-  msr: 1000.0080 00000000.00000003.   \ Coherency - route snoops to CPU
-  msr: 1000.0082 80000000.00000000.   \ Arbitration
-  msr: 1000.0083 00000000.0000ff00.   \ Disable SMIs
-  msr: 1000.0084 00000000.0000ff00.   \ Disable Async errors
-
-\ msr: 1000.00e0 000000ff.fff00000.   \ Unmapped - default
-\ msr: 1000.00e1 000000ff.fff00000.   \ Unmapped - default
-\ msr: 1000.00e2 000000ff.fff00000.   \ Unmapped - default
-\ msr: 1000.00e3 00000000.00000000.   \ Unmapped - default (Swiss Cheese)
-
-  msr: 1000.2002 0000001f.0000001f.   \ Disables SMIs
-  msr: 1000.2004 00000000.00000005.   \ Clock gating
-
-\ DMA incoming maps
-  msr: 4000.0020 20000000.000fff00.   \ 0 - f.ffff low RAM, route to GLIU0
-  msr: 4000.0022 200000fe.000ffffc.   \ fe00.0000 - fe00.03ff GP, route to GLIU0
-\ msr: 4000.0023 000000ff.fff00000.   \ Unmapped - default
-  msr: 4000.0024 200000fe.004ffffc.   \ fe00.4000 - fe00.7fff DC, route to GLIU0
-  msr: 4000.0025 400000fe.008ffffc.   \ fe00.8000 - fe00.bfff VP, route to VP in GLIU1
-  msr: 4000.0026 a00000fe.00cffffc.   \ fe00.c000 - fe00.ffff VIP, route to VIP in GLIU1
-\ msr: 4000.0027 000000ff.fff00000.   \ Unmapped - default
-\ msr: 4000.0028 000000ff.fff00000.   \ Unmapped - default
-\ msr: 4000.0029 000000ff.fff00000.   \ Unmapped - default
-  msr: 4000.002a 200000fd.ffffd000.   \ frame buffer - fd00.0000 .. fdff.ffff, route to GLIU0, fbsize
-  msr: 4000.002b c00000fe.013fe010.   \ Security Block - fe01.0000 .. fe01.3fff
-\ msr: 4000.002c 20000007.7ff00100.   \ 10.0000 - 0f7f.ffff High RAM - Memsize dependent
-\ msr: 4000.002d 00000000.000fffff.   \ Unmapped - default
-  msr: 4000.0080 00000000.00000001.   \ Route coherency snoops from GLIU1 to GLIU0
-  msr: 4000.0081 00000000.0000c77f.   \ Port active enable
-  msr: 4000.0082 80000000.00000000.   \ Arbitration scheduling
-  msr: 4000.0083 00000000.0000ffff.   \ Disable SMIs
-  msr: 4000.0084 00000000.00000008.   \ Disable AERRs
-\ msr: 4000.0085 00000000.00000104.   \ default
-\ msr: 4000.0086 20311030.0100400a.   \ default
-
-\ msr: 4000.00e0 20000000.3c0fffe0.   \ IOD_BM DC - VGA
-\ msr: 4000.00e1 000000ff.fff00000.   \ Unmapped - default
-  msr: 4000.00e3 60000000.033000f0.   \ Map reads and writes of Port F0 to GLCP, I think
-  msr: 4000.2002 0000001f.0000001f.   \ Disables SMIs
-  msr: 4000.2004 00000000.00000005.   \ Clock gating
-
-\ GeodeLink Priority Table
-  msr: 0000.2001 00000000.00000220.
-  msr: 4c00.2001 00000000.00000001.
-  msr: 5000.2001 00000000.00000027.
-  msr: 5800.2001 00000000.00000013.
-  msr: 8000.2001 00000000.00000320.
-
-  msr: 0000.1700 00000000.00000400.  \ Evict clean lines - necessary for L2
-
-\ Region config
-\ msr: 0000.1808 25fff002.1077e000.  \ System RAM and ROM region configs - Memsize dependent
-\ msr: 0000.180a 00000000.00000000.
-  msr: 0000.1800 00004000.00004022.  \ Data memory - 4 outstanding write ser., evict
-                                     \ INVD => WBINVD, serialize load misses.
-  msr: 0000.180a 00000000.00000011.  \ Disable cache for table walks
-  msr: 0000.180b 00000000.00000000.  \ Cache a0000-bffff
-  msr: 0000.180c 00000000.00000000.  \ Cache c0000-dffff
-  msr: 0000.180d 00000000.00000000.  \ Cache e0000-fffff
-\ msr: 0000.180e 00000001.00000001.  \ SMM off - default
-\ msr: 0000.180f 00000001.00000001.  \ DMM off - default
-  msr: 0000.1810 fdfff000.fd000111.  \ Video (write through), fbsize
-  msr: 0000.1811 fe013000.fe000101.  \ GP + DC + VP + VIP + AES registers non-cacheable
-\ msr: 0000.1812 00000000.00000000.  \ Disabled - default
-\ msr: 0000.1813 00000000.00000000.  \ Disabled - default
-\ msr: 0000.1814 00000000.00000000.  \ Disabled - default
-\ msr: 0000.1815 00000000.00000000.  \ Disabled - default
-\ msr: 0000.1816 00000000.00000000.  \ Disabled - default
-\ msr: 0000.1817 00000000.00000000.  \ Disabled - default
-
-\ PCI
-\ msr: 5000.2000 00000000.00105400.  \ RO
-  msr: 5000.2001 00000000.00000017.  \ Priority 1, domain 7
-  msr: 5000.2002 00000000.003f003f.  \ No SMIs
-  msr: 5000.2003 00000000.00370037.  \ No ERRs
-  msr: 5000.2004 00000000.00000015.  \ Clock gating for 3 clocks
-  msr: 5000.2005 00000000.00000000.  \ Enable some PCI errors
-  msr: 5000.2010 fff01120.001a021d.  \ PCI timings - LB has the latency timer at max
-  msr: 5000.2011 04000300.00800f01.  \ GLPCI_ARB - LX page 581
-
-\ I don't think we need to do anything special for the DOS hole from PCI
-\ msr: 5000.2014 00000000.00f000ff.  \ Fixed region enables - f, b, and a
-\ msr: 5000.2015 30303030.30303030.  \ Cache, prefetch, write combine a0000 - bffff
-\ msr: 5000.2016 30303030.30303030.  \ Cache, prefetch, write combine c0000 - dffff
-\ msr: 5000.2017 34343434.30303030.  \ Cache, prefetch, write combine e0000 - fffff, write protect f0000 - fffff
-
-  msr: 5000.2018 000ff000.00000130.  \ Cache PCI DMA to low memory 0 .. fffff
-\ msr: 5000.2019 0f7ff000.00100130.  \ Cache PCI DMA to high memory - Memsize dependent
-\ msr: 5000.201a 4041f000.40400120.
-\ msr: 5000.201a 00000000.00000000.  \ Off - default
-  msr: 5000.201b 00000000.00000000.
-  msr: 5000.201c 00000000.00000000.
-  msr: 5000.201e 00000000.00000f00.  \ PCI function number for MSR accesses to VP port
-  msr: 5000.201f 00000000.0000004b.
-\ We don't need posted I/O writes to IDE, as we have no IDE
-
-\ VIP
-\ msr: 5400.2004 00000000.00000005.  \ Clock gating - default
-
-\ AES
-\ msr: 5800.2002 00000007.00000007.  \ SMI mask - default is all off
-\ msr: 5800.2004 00000000.00000015.  \ Clock gating - default
-
-\ chipsetinit(nb);
-
-\ Set the prefetch policy for various devices
-  msr: 5150.0001 00000000.00008f000.   \ AC97
-  msr: 5140.0001 00000000.00000f000.   \ DIVIL
-
-\  Set up Hardware Clock Gating
-  msr: 5102.4004 00000000.000000004.  \ GLIU_SB_GLD_MSR_PM
-  msr: 5100.0004 00000000.000000005.  \ GLPCI_SB_GLD_MSR_PM
-  msr: 5170.0004 00000000.000000004.  \ GLCP_SB_GLD_MSR_PM
-\ SMBus clock gating errata (PBZ 2226 & SiBZ 3977)
-  msr: 5140.0004 00000000.050554111.  \ DIVIL
-  msr: 5130.0004 00000000.000000005.  \ ATA
-  msr: 5150.0004 00000000.000000005.  \ AC97
-
-\ setup_gx2();
-
-\ Graphics init
-  msr: a000.2001 00000000.0fde0000.  \ CBASE field is FB addr + 14M, fbsize
-  msr: a000.2002 00000001.00000001.  \ Disable GP SMI
-  msr: a000.2003 00000003.00000003.  \ Disable GP ERR
-  msr: a000.2004 00000000.00000001.  \ Clock gating
-  msr: 8000.2001 00000000.00000720.  \ VG config (priority)
-  msr: 8000.2002 1001ffff.1001ffff.  \ Disable SMIs
-  msr: 8000.2003 0000003f.0000003f.  \ Disable ERRs
-\ msr: 8000.2004 00000000.00000000.  \ Clock gating - default
-\ msr: 8000.2004 00000000.00000055.  \ Clock gating
-  msr: 8000.2011 00000000.00000042.  \ VG SPARE - VG fetch state machine hardware fix off
-  msr: 8000.2012 00000000.00000302.  \ VG DELAY
-
-\ msr: 4c00.0015 00000037.00000001.  \ MCP DOTPLL reset; unnecessary because of later video init
-
-\ More GLCP stuff
-  msr: 4c00.000f f2f100ff.56960444.  \ I/O buffer delay controls - LB uses 82f1.00aa.5696.0444
-           \ Our value has lower drive for mem signals and more delay for BA, MA, CKE, CS, RAS, CAS, WE
-
-  msr: 4c00.0016 00000000.00000000.  \ Turn off debug clock - LB has 2 (default, GLIU1 to debug logic)
-\ msr: 4c00.001e 00000000.0000603c.  \ Processor throttle off delay - LB values
-  msr: 4c00.2004 00000000.00000015.  \ Hardware clock gating for everything (Insyde uses 0x14)
-
-  msr: 5000.2014 00000000.00ffffff.  \ Enables PCI access to low mem
-
-[ifdef] lx-devel
-  msr: 4800.2001 00000000.00040c00.  \ Set VP reference clock divider to 0xc, not 0xe, CRT mode
-[else]
-\  msr: 4800.2001 00000000.00040c08.  \ Set VP reference clock divider to 0xc, not 0xe, TFT mode
-  msr: 4800.2001 00000000.00048c08.  \ Set VP reference clock divider to 0xc, not 0xe, TFT + CRT mode
-[then]
-  \ The datasheet says the MSR number is 4800.0011, but that is wrong
-  msr: 4800.2011 0000003f.dfffffff.  \ Set TFT pads to registered
-
-\ 5536 region configs
-  msr: 5100.0002 00000000.007f0000.  \ Disable SMIs
-  msr: 5101.0002 0000000f.0000000f.  \ Disable SMIs
-
-\ msr: 5100.0010 44000020.00020013.  \ PCI timings - already set
-  msr: 5100.0020 018b4001.018b0001.  \ Region configs
-  msr: 5100.0021 010fc001.01000001.  \ GPIO
-  msr: 5100.0022 0183c001.01800001.  \ MFGPT
-  msr: 5100.0023 0189c001.01880001.  \ IRQ mapper
-  msr: 5100.0024 0147c001.01400001.  \ PMS
-  msr: 5100.0025 0187c001.01840001.  \ ACPI
-  msr: 5100.0026 014fc001.01480001.  \ What?? 128 bytes (0x80)
-  msr: 5100.0027 fe01a000.fe01a001.  \ OHCI
-  msr: 5100.0028 fe01b000.fe01b001.  \ EHCI
-  msr: 5100.0029 efc00000.efc00001.  \ UOC
-  msr: 5100.002b 018ac001.018a0001.  \ IDE bus master
-  msr: 5100.002f 00084001.00084009.  \ Port 84 (what??)
-  msr: 5101.0020 400000ef.c00fffff.  \ P2D_BM0 UOC
-  msr: 5101.0023 500000fe.01afffff.  \ P2D_BMK Descriptor 0 OHCI
-  msr: 5101.0024 400000fe.01bfffff.  \ P2D_BMK Descriptor 1 EHCI
-  msr: 5101.0083 00000000.0000ff00.  \ Disable SMIs
-  msr: 5101.00e1 a0000001.480fff80.  \ IOD_BM Descriptor 1 AC97
-  msr: 5101.00e2 80000001.400fff80.  \ IOD_BM Descriptor 2 PMS
-  msr: 5101.00e3 80000001.840fffe0.  \ IOD_BM Descriptor 3 ACPI
-\ msr: 5101.00e4 00000001.858ffff8.  \ IOD_BM Descriptor 4 Don't carve ACPI into partially-emulated ranges
-  msr: 5101.00e5 60000001.8a0ffff0.  \ IOD_BM Descriptor 5 bus master IDE
-\ msr: 5101.00eb 00000000.f0301850.  \ IOD_SC Descriptor 1 Don't carve ACPI into partially-emulated ranges
-
-  msr: 5140.0002 0000fbff.00000000.  \ Disable SMIs
-
-  msr: 5140.0008 0000f001.00001880.  \ LBAR_IRQ
-  msr: 5140.0009 fffff001.fe01a000.  \ LBAR_KEL (USB)
-  msr: 5140.000b     f001.000018b0.  \ LBAR_SMB
-  msr: 5140.000c     f001.00001000.  \ LBAR_GPIO
-  msr: 5140.000d     f001.00001800.  \ LBAR_MFGPT
-  msr: 5140.000e     f001.00001840.  \ LBAR_ACPI
-  msr: 5140.000f     f001.00001400.  \ LBAR_PMS
-\ msr: 5140.0010 fffff007.20000000.  \ LBAR_FLSH0 no 5536 NAND FLASH on any LX platform
-\ msr: 5140.0011  \ LBAR_FLSH1
-\ msr: 5140.0012  \ LBAR_FLSH2
-\ msr: 5140.0013  \ LBAR_FLSH3
-\ msr: 5140.0014 00000000.80070003.  \ LEG_IO already set in romreset
-  msr: 5140.0015 00000000.00000f7d.  \ BALL_OPTS - IDE pins are IDE, not NAND
-\ msr: 5140.001b 00000000.07770777.  \ NANDF_DATA - default
-\ msr: 5140.001c 00000000.00000777.  \ NANDF_CTL - default
-  msr: 5140.001f 00000000.00000011.  \ KEL_CTRL
-  msr: 5140.0020 00000000.bb350a00.  \ IRQM_YLOW
-  msr: 5140.0021 00000000.04000000.  \ IRQM_YHIGH
-  msr: 5140.0022 00000000.00002222.  \ IRQM_ZLOW
-  msr: 5140.0023 00000000.60baa5e2.  \ IRQM_ZHIGH
-  msr: 5140.0025 00000000.00001002.  \ IRQM_LPC
-\ msr: 5140.0028 00000000.00000000.  \ MFGPT_IRQ off - default
-\ msr: 5140.0040 00000000.00000000.  \ DMA_MAP - default
-\ msr: 5140.004e 00000000.ef2500c0.  \ LPC_SIRQ
-\ msr: 5140.004e 00000000.effd0080.  \ LPC_SIRQ
-  msr: 5140.004e 00000000.effd00c0.  \ LPC_SIRQ
-
-\ USB host controller
-  msr: 5120.0001 0000000b.00000000.  \ USB_GLD_MSR_CONFIG - 5536 page 262
-  msr: 5120.0008 0000000e.fe01a000.  \ USB OHC Base Address - 5536 page 266
-  msr: 5120.0009 0000200e.fe01b000.  \ USB EHC Base Address - 5536 page 266 FLADJ set
-  msr: 5120.000b 00000002.efc00000.  \ USB UOC Base Address - 5536 page 266
-
-\ Clear possible spurious USB Short Serial detect bit per 5536 erratum 57
-  msr: 5120.0015 00000010.00000000.  \ USB_GLD_MSR_DIAG
-
-here lx-msr-init - constant /lx-msr-init
-
 : msr-init-range  ( -- adr len )
    lx?  if
       lx-msr-init /lx-msr-init

Added: cpu/x86/pc/olpc/gxmsrs.fth
===================================================================
--- cpu/x86/pc/olpc/gxmsrs.fth	                        (rev 0)
+++ cpu/x86/pc/olpc/gxmsrs.fth	2007-05-12 01:13:43 UTC (rev 370)
@@ -0,0 +1,304 @@
+purpose: Table of MSR values to setup Geode GX processor on OLPC
+
+create gx-msr-init
+\ Memsize-dependent MSRs are set in the early startup code
+
+\ CPU
+msr: 0000.1210 00000000.00000001.  \ GX p 121 Suspend on halt
+msr: 0000.1900 00000000.00001131.  \ GX p 174 Default + SUSP + TSC_SUSP
+msr: 0000.1a00 00000000.00000001.  \ GX p 178 Imprecise exceptions
+
+\ northbridgeinit: GLIUS
+\ Already mapped in early startup
+\ msr: 1000.0020 20000000.000fff80.   \ 0 - 7.ffff low RAM
+msr: 1000.0022 a00000fe.000ffffc.   \ fe00.0000 - fe00.3fff GP
+msr: 1000.0023 c00000fe.008ffffc.   \ fe00.8000 - fe00.bfff VP
+\ msr: 1000.0024 80000000.0a0fffe0.   \ 000a.0000 - 000b.ffff DC Don't need EGA frame buffer
+
+\ msr: 1000.0025 000000ff.fff00000.   \ Unmapped - default
+
+\ SMM memory (fbe) (40. is SMM_OFFSET)
+\ msr: 1000.0026 2c7be040.400fffe0.   \ 4040.0000 - 405f.ffff relocated to 7fe.0000 - Memsize dependent
+\ msr: 1000.0027 000000ff.fff00000.   \ Unmapped - default
+\ msr: 1000.0028 20000007.7df00100.   \ 10.000 - 077d.f000 High RAM - Memsize dependent
+
+\ Graphics
+\ msr: 1000.0029 20a7e0fd.7fffd000.   \ fd00.0000 - fd7f.ffff mapped to 77e.0000 Memsize dependent (Frame Buffer)
+msr: 1000.002a 801ffcfe.007fe004.   \ fe00.4000 - fe00.7fff mapped to 0 in DC space
+
+\ msr: 1000.002b 00000000.000fffff.   \ Unmapped - default
+\ msr: 1000.002c 20000000.f0000003.   \ f.0000 - f.ffff Read only to expansion ROM XXX
+
+msr: 1000.0080 00000000.00000003.   \ Coherency
+msr: 1000.0083 00000000.0000ff00.   \ Disable SMIs
+msr: 1000.0084 00000000.0000ff00.   \ Disable Async errors
+
+\ msr: 1000.00e0 80000000.3c0ffff0.   \ IOD_BM DC - VGA registers
+\ msr: 1000.00e1 80000000.3d0ffff0.   \ IOD_BM DC - VGA registers
+\ msr: 1000.00e3 00000000.f030ac18.   \ IOD_SC - Virtual Register - ac1c-ac1f
+
+msr: 1000.2002 0000001f.0000001f.   \ Disables SMIs
+msr: 1000.2004 00000000.00000005.   \ Clock gating
+
+\ DMA incoming maps
+\ X msr: 4000.0020 20000000.000fff80.   \ 0 - 7.ffff low RAM
+\ X msr: 4000.0021 20000000.080fffe0.   \ 8.0000 - 9.ffff low RAM
+msr: 4000.0020 20000000.000fff00.   \ 0 - f.ffff low RAM, route to GLIU0
+msr: 4000.0022 200000fe.000ffffc.   \ fe00.0000 - fe00.03ff GP, route to GLIU0
+\ msr: 4000.0023 20000040.400fffe0.   \ 4040.0000 - 4041.ffff SMM memory, route to GLIU0
+msr: 4000.0024 200000fe.004ffffc.   \ fe00.4000 - fe00.7fff DC, route to GLIU0
+msr: 4000.0025 200000fe.008ffffc.   \ fe00.8000 - fe00.bfff VP, route to GLIU0
+\ msr: 4000.0026 20000000.0a0fffe0.   \ 000a.0000 - 000b.ffff DC in low mem;  XXX - no DOS frame  buffer
+\ msr: 4000.0027 000000ff.fff00000.   \ Unmapped - default
+\ msr: 4000.0028 000000ff.fff00000.   \ Unmapped - default
+\ msr: 4000.0029 20000007.7df00100.   \ 10.0000 - 0f7d.f000 High RAM - Memsize dependent
+msr: 4000.002a 200000fd.7fffd000.   \ frame buffer - fd00.0000 .. fd7f.ffff, route to GLIU0
+\ msr: 4000.002d 20000000.f0000003.   \ 000f.0000 - 000f.ffff expansion ROM; XXX - no expansion ROM
+msr: 4000.0080 00000000.00000001.   \ Route coherency snoops from GLIU1 to GLIU0
+msr: 4000.0083 00000000.0000ff00.   \ Disable SMIs
+
+\ msr: 4000.00e0 20000000.3c0fffe0.   \ IOD_BM DC - VGA
+msr: 4000.00e3 60000000.033000f0.   \ GLCP - Ports f0 and f1 incoming (clear FP IRQ13)
+msr: 4000.2002 0000001f.0000001f.   \ Disables SMIs
+msr: 4000.2004 00000000.00000005.   \ Clock gating
+
+\ GeodeLink Priority Table
+msr: 0000.2001 00000000.00000220.
+msr: 4c00.2001 00000000.00000001.
+msr: 5000.2001 00000000.00000027.
+msr: 5800.2001 00000000.00000000.
+msr: 8000.2001 00000000.00000320.
+
+msr: 5400.2001 00000000.00000000.  \ In GX, 5400.xxxx is FooGlue, in LX it is VIP
+msr: c000.2001 00000000.00040f80.
+msr: c000.2004 00000000.00000155.  \ Clock gating
+\ msr: c000.2001 00000000.00040f80.  \ DF config.  - Already set
+
+\ Region config
+\ msr: 1808 25fff002.1077e000.  \ Memsize dependent
+\ msr: 180a 00000000.00000000.
+msr: 1800 00002000.00000022.  \ Data memory - 2 outstanding write ser.,
+                              \ INVD => WBINVD, serialize load misses.
+msr: 180a 00000000.00000011.  \ Disable cache for table walks
+msr: 1810 fd7ff000.fd000111.  \ Video (write through)
+msr: 1811 fe003000.fe000101.  \ GP
+msr: 1812 fe007000.fe004101.  \ DC
+msr: 1813 fe00b000.fe008101.  \ VP
+
+\ PCI
+\ msr: 50002000 00000000.00105001. \ RO
+msr: 5000.2001 00000000.00000027. \ Priority 2, domain 7
+msr: 5000.2002 00000000.003f003f. \ No SMIs, please
+msr: 5000.2003 00000000.00370037. \ No ERRs, please
+msr: 5000.2004 00000000.00000015. \ Clock gating for 3 clocks
+msr: 5000.2005 00000000.00000000. \ Enable some PCI errors
+msr: 5000.2010 fff030f8.001a0215.
+msr: 5000.2011 00000300.00000100. \ GLPCI_ARB
+msr: 5000.2014 00000000.00f000ff.
+msr: 5000.2015 35353535.35353535.
+msr: 5000.2016 35353535.35353535.
+msr: 5000.2017 35353535.35353535.
+msr: 5000.2018 0009f000.00000130.
+\ msr: 5000.2019 077df000.00100130.  \ Memsize dependent
+msr: 5000.201a 4041f000.40400120.
+msr: 5000.201b 00000000.00000000.
+msr: 5000.201c 00000000.00000000.
+msr: 5000.201e 00000000.00000f00.
+msr: 5000.201f 00000000.0000004b.
+\ msr: 5000.201f 00000000.0000006b.  \ Set below in bug workaround
+\ We don't need posted I/O writes to IDE, as we have no IDE
+
+\ clockgating
+\ msr: 5400.2004 00000000.00000000.  \ Clock gating - default
+\ msr: 5400.2004 00000000.00000003.  \ Clock gating
+
+\ cpu/amd/model_gx2/cpubug.c
+
+\ pcideadlock();
+
+\ CPU_DM_CONFIG0 - 1800 - already set correctly above
+\ Interlock instruction fetches to WS regions with data accesses
+msr: 00001700 00000000.00100000.
+
+\ We set all these to 0 (cacheable) because we
+\ don't use them for the traditional DOS legacy devices.
+msr: 0000180b 00000000.00000000. \ Regions a0000..bffff
+msr: 0000180c 00000000.00000000. \ Regions c0000..dffff
+msr: 0000180d 00000000.00000000. \ Regions e0000..fffff
+
+\ eng1398();
+msr: 2000.2004 00000000.00000003.  \ early setup uses 1, eng1398 changes to 3
+
+\ eng2900();
+msr: 0000.3003 0080a13d.00000000. \ Disables sysenter/sysexit in CPUID3
+
+\ This is the Branch Target Buffer workaround
+\ swapsif thing - don't do this stuff for use with FS2
+msr: 4c00.005f 00000000.00000000. \ Disable enable_actions in DIAGCTL while setting up GLCP
+msr: 4c00.0016 00000000.00000000. \ Changing DBGCLKCTL register to GeodeLink
+msr: 4c00.0016 00000000.00000002. \ Changing DBGCLKCTL register to GeodeLink
+msr: 1000.2005 00000000.80338041. \ Send mb0 port 3 requests to upper GeodeLink diag bits
+msr: 4c00.0045 5ad68000.00000000. \ set5m watches request ready from mb0 to CPU (snoop)
+msr: 4c00.0044 00000000.00000140. \ SET4M will be high when state is idle (XSTATE=11)
+msr: 4c00.004d 00002000.00000000. \ SET5n to watch for processor stalled state
+\ Writing action number 13: XSTATE=0 to occur when CPU is snooped unless we're stalled
+msr: 4c00.0075 00000000.00400000.
+msr: 4c00.0073 00000000.00030000. \ Writing action number 11: inc XSTATE every GeodeLink clock unless we're idle
+msr: 4c00.006d 00000000.00430000. \ Writing action number 5: STALL_CPU_PIPE when exitting idle state or not in idle state
+msr: 4c00.005f 00000000.80004000. \ Writing DIAGCTL Register to enable the stall action and to let set5m watch the upper GeodeLink diag bits.
+\ End swapsif thing
+
+\ bug118339();
+msr: 4c00.005f 00000000.00000000. \ Disable enable_actions in DIAGCTL while setting up GLCP
+msr: 4c00.0042 596b8000.00000a00. \ SET2M fires if VG pri is odd (3, not 2) and Ystate=0
+msr: 4c00.0043 596b8040.00000000. \ SET3M fires if MBUS changed and VG pri is odd
+msr: 1000.2005 00000000.80338041. \ Put VG request data on lower diag bus
+msr: 4c00.0074 00000000.0000c000. \ Increment Y state if SET3M if true
+msr: 4c00.0020 0000d863.20002000. \ Set up MBUS action to PRI=3 read of MBIU
+msr: 4c00.0071 00000000.00000c00. \ Trigger MBUS action if VG=pri3 and Y=0, this blocks most PCI
+msr: 4c00.005f 00000000.80004000. \ Writing DIAGCTL
+
+\ Already set above, but to wrong value
+msr: 4c00.0042 596b8008.00000a00. \ enable FS2 even when BTB and VGTEAR SWAPSiFs are enabled
+
+\ bug784();  Put "Geode by NSC" in the ID
+msr: 0000.3006 646f6547.80000006.
+msr: 0000.3007 79622065.43534e20.
+msr: 0000.3008 00000000.00000552.  \ Supposed to be same as msr 3002
+msr: 0000.3009 c0c0a13d.00000000.
+
+\ bug118253();
+\ msr: 5000.201f 00000000.0000006b.  \ Disable GLPCI PIO Post Control
+\ This is irrelevant because we don't use IDE, so posting to IDE ports is a don't care
+
+\ disablememoryreadorder();
+msr: 2000.0019 18000108.286332a3.
+
+\ chipsetinit(nb);
+
+\ set hd IRQ
+\	outl	(GPIOL_2_SET, GPIOL_INPUT_ENABLE);
+\	outl	(GPIOL_2_SET, GPIOL_IN_AUX1_SELECT);
+\	/*  Allow IO read and writes during a ATA DMA operation.*/
+\	/*   This could be done in the HD rom but do it here for easier debugging.*/
+\	100 ATA_SB_GLD_MSR_ERR msr-bitclr
+\	GLPCI_CRTL_PPIDE_SET GLPCI_SB_CTRL msr-bitset  \ Enable Post Primary IDE
+
+\ Set the prefetch policy for various devices
+msr: 5150.0001  0.00008f000.   \ AC97
+msr: 5140.0001  0.00000f000.   \ DIVIL
+
+\  Set up Hardware Clock Gating
+msr: 5102.4004  0.000000004.  \ GLIU_SB_GLD_MSR_PM
+msr: 5100.0004  0.000000005.  \ GLPCI_SB_GLD_MSR_PM
+msr: 5170.0004  0.000000004.  \ GLCP_SB_GLD_MSR_PM
+\ SMBus clock gating errata (PBZ 2226 & SiBZ 3977)
+msr: 5140.0004  0.050554111.  \ DIVIL
+msr: 5130.0004  0.000000005.  \ ATA
+msr: 5150.0004  0.000000005.  \ AC97
+
+\ setup_gx2();
+
+\ Don't need this, RCONF is already set, cache is already on
+\ .. size_kb = setup_gx2_cache();
+
+\ 1000.0026 is already set
+
+\ For now we will skip the real mode IDT setup and see if
+\ we can get away with it - no real mode interrupts.
+\ src/cpu/amd/model_gx2/vsmsetup.c:setup_realmode_idt();
+
+\ do_vsmbios();
+
+\ Graphics init
+msr: a000.2001 00000000.00000010.  \ GP config (priority)
+msr: a000.2002 00000001.00000001.  \ Disable GP SMI
+msr: a000.2003 00000003.00000003.  \ Disable GP ERR
+msr: a000.2004 00000000.00000001.  \ Clock gating
+msr: 8000.2001 00000000.00000320.  \ VG config (priority)
+msr: 8000.2002 0000001f.0000001f.  \ Disable SMIs
+msr: 8000.2003 0000000f.0000000f.  \ Disable ERRs
+\ msr: 8000.2004 00000000.00000000.  \ Clock gating - default
+\ msr: 8000.2004 00000000.00000055.  \ Clock gating
+msr: 8000.2011 00000000.00000001.  \ VG SPARE - VG fetch state machine hardware fix off
+msr: 8000.2012 00000000.06060202.  \ VG DELAY
+
+\ msr: 4c00.0015 00000037.00000001.  \ MCP DOTPLL reset; unnecessary because of later video init
+
+\ More GLCP stuff
+msr: 4c00.0021 00000000.0000001b.   \ GLD Action Data Control - undocumented
+msr: 4c00.0022 00000000.00001001.   \ GLD Action Data
+msr: 4c00.2004 00000000.00000005.   \ ( 15 GLCP_GLD_MSR_PM )
+
+msr: 5000.2014 00000000.00ffffff.  \ Enables PCI access to low mem
+
+\ 5536 region configs
+msr: 5100.0002 00000000.007f0000.  \ Disable SMIs
+msr: 5101.0002 0000000f.0000000f.  \ Disable SMIs
+
+\ msr: 5100.0010 44000020.00020013.  \ PCI timings - already set
+msr: 5100.0020 018b4001.018b0001.  \ Region configs
+msr: 5100.0021 010fc001.01000001.  \ GPIO
+msr: 5100.0022 0183c001.01800001.  \ MFGPT
+msr: 5100.0023 0189c001.01880001.  \ IRQ mapper
+msr: 5100.0024 0147c001.01400001.  \ PMS
+msr: 5100.0025 0187c001.01840001.  \ ACPI
+msr: 5100.0026 014fc001.01480001.  \ AC97 128 bytes (0x80)
+msr: 5100.0027 fe01a000.fe01a001. \ OHCI
+msr: 5100.0028 fe01b000.fe01b001. \ EHCI
+msr: 5100.0029 efc00000.efc00001. \ UOC
+msr: 5100.002b 018ac001.018a0001. \ IDE bus master
+msr: 5100.002f 00084001.00084009. \ Port 84 (what??)
+msr: 5101.0020 400000ef.c00fffff. \ P2D_BM0 UOC
+msr: 5101.0023 500000fe.01afffff. \ P2D_BMK Descriptor 0 OHCI
+msr: 5101.0024 400000fe.01bfffff. \ P2D_BMK Descriptor 1 EHCI
+msr: 5101.0083 00000000.0000ff00. \ Disable SMIs
+msr: 5101.00e0 60000000.1f0ffff8. \ IOD_BM Descriptor 0 ATA IO address
+msr: 5101.00e1 a0000001.480fff80. \ IOD_BM Descriptor 1 AC97
+msr: 5101.00e2 80000001.400fff80. \ IOD_BM Descriptor 2 PMS
+msr: 5101.00e3 80000001.840fffe0. \ IOD_BM Descriptor 3 ACPI
+\ msr: 5101.00e4 00000001.858ffff8. \ IOD_BM Descriptor 4 Don't carve ACPI into partially-emulated ranges
+msr: 5101.00e5 60000001.8a0ffff0. \ IOD_BM Descriptor 5
+\ msr: 5101.00eb 00000000.f0301850. \ IOD_SC Descriptor 1 Don't carve ACPI into partially-emulated ranges
+
+msr: 5130.0008 00000000.000018a1. \ IDE_IO_BAR - IDE bus master registers
+
+msr: 5140.0002 0000fbff.00000000. \ Disable SMIs
+
+msr: 5140.0008 0000f001.00001880. \ LBAR_IRQ
+msr: 5140.0009 fffff001.fe01a000. \ LBAR_KEL (USB)
+msr: 5140.000b     f001.000018b0. \ LBAR_SMB
+msr: 5140.000c     f001.00001000. \ LBAR_GPIO
+msr: 5140.000d     f001.00001800. \ LBAR_MFGPT
+msr: 5140.000e     f001.00001840. \ LBAR_ACPI
+msr: 5140.000f     f001.00001400. \ LBAR_PMS
+msr: 5140.0010 fffff007.20000000. \ LBAR_FLSH0
+\ msr: 5140.0011  \ LBAR_FLSH1
+\ msr: 5140.0012  \ LBAR_FLSH2
+\ msr: 5140.0013  \ LBAR_FLSH3
+\ msr: 5140.0014 00000000.80070003. \ LEG_IO already set in romreset
+msr: 5140.0015 00000000.00000f7c. \ BALL_OPTS
+msr: 5140.001b 00000000.00100010. \ NANDF_DATA
+msr: 5140.001c 00000000.00000010. \ NANDF_CTL
+msr: 5140.001f 00000000.00000011. \ KEL_CTRL
+msr: 5140.0020 00000000.bb350a00. \ IRQM_YLOW
+msr: 5140.0021 00000000.04000000. \ IRQM_YHIGH
+msr: 5140.0022 00000000.00002222. \ IRQM_ZLOW
+msr: 5140.0023 00000000.600aa5b2. \ IRQM_ZHIGH
+msr: 5140.0025 00000000.00001002. \ IRQM_LPC
+\ msr: 5140.0028 00000000.000000ff. \ MFGPT_IRQ Leave this off
+msr: 5140.0040 00000000.00000000. \ DMA_MAP
+\ msr: 5140.004e 00000000.ef2500c0. \ LPC_SIRQ
+\ msr: 5140.004e 00000000.effd0080. \ LPC_SIRQ
+msr: 5140.004e 00000000.effd00c0. \ LPC_SIRQ
+
+\ USB host controller
+msr: 5120.0001 0000000b.00000000.  \ USB_GLD_MSR_CONFIG - 5536 page 262
+msr: 5120.0008 0000000e.fe01a000.  \ USB OHC Base Address - 5536 page 266
+msr: 5120.0009 0000000e.fe01b000.  \ USB EHC Base Address - 5536 page 266
+msr: 5120.000b 00000002.efc00000.  \ USB UOC Base Address - 5536 page 266
+
+\ Clear possible spurious USB Short Serial detect bit per 5536 erratum 57
+msr: 5120.0015 00000010.00000000.  \ USB_GLD_MSR_DIAG
+
+here gx-msr-init - constant /gx-msr-init

Added: cpu/x86/pc/olpc/lxmsrs.fth
===================================================================
--- cpu/x86/pc/olpc/lxmsrs.fth	                        (rev 0)
+++ cpu/x86/pc/olpc/lxmsrs.fth	2007-05-12 01:13:43 UTC (rev 370)
@@ -0,0 +1,254 @@
+purpose: Table of MSR values to setup Geode LX processor on OLPC
+
+create lx-msr-init
+\ Memsize-dependent MSRs are set in the early startup code
+
+\ CPU
+  msr: 0000.1100 00000100.00005051.  \ Branch tree messaging sync
+  msr: 0000.1210 00000000.00000003.  \ Suspend on halt and pause
+  msr: 0000.1900 00000000.02001131.  \ Pausedly 16 clocks, SUSP + TSC_SUSP
+  msr: 0000.1920 00000000.0000000f.  \ Enable L2 cache
+  msr: 0000.1930 00000000.00070303.  \ MSR_PMODE
+  msr: 0000.1981 00000000.2814d352.  \ MSS_ARRAY_CTL0 - cache timings - value from PRS
+  msr: 0000.1982 00000000.1068334d.  \ MSS_ARRAY_CTL1 - cache timings - value from PRS
+  msr: 0000.1983 00000106.83104104.  \ MSS_ARRAY_CTL2 - cache timings - value from PRS
+  msr: 0000.1a00 00000000.00000001.  \ Imprecise exceptions
+
+\ northbridgeinit: GLIUS
+\ msr: 1000.0020 20000000.000fff80.   \ 0 - 7.ffff low RAM Early startup
+\ msr: 1000.0024 000000ff.fff00000.   \ Unmapped - default
+  msr: 1000.0022 a00000fe.000ffffc.   \ fe00.0000 - fe00.3fff GP
+  msr: 1000.0023 400000fe.008ffff8.   \ fe00.8000 - fe00.bfff VP + VIP in GLIU1
+  msr: 1000.0024 400000fe.010ffffc.   \ fe01.0000 - fe01.3fff security block in GLIU1
+\ msr: 1000.0025 000000ff.fff00000.   \ Unmapped - default
+\ msr: 1000.0026 000000ff.fff00000.   \ Unmapped - default
+
+\ Graphics
+\ msr: 1000.0029 20a7e0fd.ffffd000.   \ fd00.0000 - fdff.ffff mapped to f00.0000 Memsize dependent, fbsize dependent
+  msr: 1000.002a 801ffcfe.007fe004.   \ fe00.4000 - fe00.7fff mapped to 0 in DC space
+
+\ msr: 1000.002b 00000000.000fffff.   \ Unmapped - default
+\ msr: 1000.002c 00000000.00000000.   \ Unmapped - default (Swiss Cheese)
+
+  msr: 1000.0080 00000000.00000003.   \ Coherency - route snoops to CPU
+  msr: 1000.0082 80000000.00000000.   \ Arbitration
+  msr: 1000.0083 00000000.0000ff00.   \ Disable SMIs
+  msr: 1000.0084 00000000.0000ff00.   \ Disable Async errors
+
+\ msr: 1000.00e0 000000ff.fff00000.   \ Unmapped - default
+\ msr: 1000.00e1 000000ff.fff00000.   \ Unmapped - default
+\ msr: 1000.00e2 000000ff.fff00000.   \ Unmapped - default
+\ msr: 1000.00e3 00000000.00000000.   \ Unmapped - default (Swiss Cheese)
+
+  msr: 1000.2002 0000001f.0000001f.   \ Disables SMIs
+  msr: 1000.2004 00000000.00000005.   \ Clock gating
+
+\ DMA incoming maps
+  msr: 4000.0020 20000000.000fff00.   \ 0 - f.ffff low RAM, route to GLIU0
+  msr: 4000.0022 200000fe.000ffffc.   \ fe00.0000 - fe00.03ff GP, route to GLIU0
+\ msr: 4000.0023 000000ff.fff00000.   \ Unmapped - default
+  msr: 4000.0024 200000fe.004ffffc.   \ fe00.4000 - fe00.7fff DC, route to GLIU0
+  msr: 4000.0025 400000fe.008ffffc.   \ fe00.8000 - fe00.bfff VP, route to VP in GLIU1
+  msr: 4000.0026 a00000fe.00cffffc.   \ fe00.c000 - fe00.ffff VIP, route to VIP in GLIU1
+\ msr: 4000.0027 000000ff.fff00000.   \ Unmapped - default
+\ msr: 4000.0028 000000ff.fff00000.   \ Unmapped - default
+\ msr: 4000.0029 000000ff.fff00000.   \ Unmapped - default
+  msr: 4000.002a 200000fd.ffffd000.   \ frame buffer - fd00.0000 .. fdff.ffff, route to GLIU0, fbsize
+  msr: 4000.002b c00000fe.013fe010.   \ Security Block - fe01.0000 .. fe01.3fff
+\ msr: 4000.002c 20000007.7ff00100.   \ 10.0000 - 0f7f.ffff High RAM - Memsize dependent
+\ msr: 4000.002d 00000000.000fffff.   \ Unmapped - default
+  msr: 4000.0080 00000000.00000001.   \ Route coherency snoops from GLIU1 to GLIU0
+  msr: 4000.0081 00000000.0000c77f.   \ Port active enable
+  msr: 4000.0082 80000000.00000000.   \ Arbitration scheduling
+  msr: 4000.0083 00000000.0000ffff.   \ Disable SMIs
+  msr: 4000.0084 00000000.00000008.   \ Disable AERRs
+\ msr: 4000.0085 00000000.00000104.   \ default
+\ msr: 4000.0086 20311030.0100400a.   \ default
+
+\ msr: 4000.00e0 20000000.3c0fffe0.   \ IOD_BM DC - VGA
+\ msr: 4000.00e1 000000ff.fff00000.   \ Unmapped - default
+  msr: 4000.00e3 60000000.033000f0.   \ Map reads and writes of Port F0 to GLCP, I think
+  msr: 4000.2002 0000001f.0000001f.   \ Disables SMIs
+  msr: 4000.2004 00000000.00000005.   \ Clock gating
+
+\ GeodeLink Priority Table
+  msr: 0000.2001 00000000.00000220.
+  msr: 4c00.2001 00000000.00000001.
+  msr: 5000.2001 00000000.00000027.
+  msr: 5800.2001 00000000.00000013.
+  msr: 8000.2001 00000000.00000320.
+
+  msr: 0000.1700 00000000.00000400.  \ Evict clean lines - necessary for L2
+
+\ Region config
+\ msr: 0000.1808 25fff002.1077e000.  \ System RAM and ROM region configs - Memsize dependent
+\ msr: 0000.180a 00000000.00000000.
+  msr: 0000.1800 00004000.00004022.  \ Data memory - 4 outstanding write ser., evict
+                                     \ INVD => WBINVD, serialize load misses.
+  msr: 0000.180a 00000000.00000011.  \ Disable cache for table walks
+  msr: 0000.180b 00000000.00000000.  \ Cache a0000-bffff
+  msr: 0000.180c 00000000.00000000.  \ Cache c0000-dffff
+  msr: 0000.180d 00000000.00000000.  \ Cache e0000-fffff
+\ msr: 0000.180e 00000001.00000001.  \ SMM off - default
+\ msr: 0000.180f 00000001.00000001.  \ DMM off - default
+  msr: 0000.1810 fdfff000.fd000111.  \ Video (write through), fbsize
+  msr: 0000.1811 fe013000.fe000101.  \ GP + DC + VP + VIP + AES registers non-cacheable
+\ msr: 0000.1812 00000000.00000000.  \ Disabled - default
+\ msr: 0000.1813 00000000.00000000.  \ Disabled - default
+\ msr: 0000.1814 00000000.00000000.  \ Disabled - default
+\ msr: 0000.1815 00000000.00000000.  \ Disabled - default
+\ msr: 0000.1816 00000000.00000000.  \ Disabled - default
+\ msr: 0000.1817 00000000.00000000.  \ Disabled - default
+
+\ PCI
+\ msr: 5000.2000 00000000.00105400.  \ RO
+  msr: 5000.2001 00000000.00000017.  \ Priority 1, domain 7
+  msr: 5000.2002 00000000.003f003f.  \ No SMIs
+  msr: 5000.2003 00000000.00370037.  \ No ERRs
+  msr: 5000.2004 00000000.00000015.  \ Clock gating for 3 clocks
+  msr: 5000.2005 00000000.00000000.  \ Enable some PCI errors
+  msr: 5000.2010 fff01120.001a021d.  \ PCI timings - LB has the latency timer at max
+  msr: 5000.2011 04000300.00800f01.  \ GLPCI_ARB - LX page 581
+
+\ I don't think we need to do anything special for the DOS hole from PCI
+\ msr: 5000.2014 00000000.00f000ff.  \ Fixed region enables - f, b, and a
+\ msr: 5000.2015 30303030.30303030.  \ Cache, prefetch, write combine a0000 - bffff
+\ msr: 5000.2016 30303030.30303030.  \ Cache, prefetch, write combine c0000 - dffff
+\ msr: 5000.2017 34343434.30303030.  \ Cache, prefetch, write combine e0000 - fffff, write protect f0000 - fffff
+
+  msr: 5000.2018 000ff000.00000130.  \ Cache PCI DMA to low memory 0 .. fffff
+\ msr: 5000.2019 0f7ff000.00100130.  \ Cache PCI DMA to high memory - Memsize dependent
+\ msr: 5000.201a 4041f000.40400120.
+\ msr: 5000.201a 00000000.00000000.  \ Off - default
+  msr: 5000.201b 00000000.00000000.
+  msr: 5000.201c 00000000.00000000.
+  msr: 5000.201e 00000000.00000f00.  \ PCI function number for MSR accesses to VP port
+  msr: 5000.201f 00000000.0000004b.
+\ We don't need posted I/O writes to IDE, as we have no IDE
+
+\ VIP
+\ msr: 5400.2004 00000000.00000005.  \ Clock gating - default
+
+\ AES
+\ msr: 5800.2002 00000007.00000007.  \ SMI mask - default is all off
+\ msr: 5800.2004 00000000.00000015.  \ Clock gating - default
+
+\ chipsetinit(nb);
+
+\ Set the prefetch policy for various devices
+  msr: 5150.0001 00000000.00008f000.   \ AC97
+  msr: 5140.0001 00000000.00000f000.   \ DIVIL
+
+\  Set up Hardware Clock Gating
+  msr: 5102.4004 00000000.000000004.  \ GLIU_SB_GLD_MSR_PM
+  msr: 5100.0004 00000000.000000005.  \ GLPCI_SB_GLD_MSR_PM
+  msr: 5170.0004 00000000.000000004.  \ GLCP_SB_GLD_MSR_PM
+\ SMBus clock gating errata (PBZ 2226 & SiBZ 3977)
+  msr: 5140.0004 00000000.050554111.  \ DIVIL
+  msr: 5130.0004 00000000.000000005.  \ ATA
+  msr: 5150.0004 00000000.000000005.  \ AC97
+
+\ setup_gx2();
+
+\ Graphics init
+  msr: a000.2001 00000000.0fde0000.  \ CBASE field is FB addr + 14M, fbsize
+  msr: a000.2002 00000001.00000001.  \ Disable GP SMI
+  msr: a000.2003 00000003.00000003.  \ Disable GP ERR
+  msr: a000.2004 00000000.00000001.  \ Clock gating
+  msr: 8000.2001 00000000.00000720.  \ VG config (priority)
+  msr: 8000.2002 1001ffff.1001ffff.  \ Disable SMIs
+  msr: 8000.2003 0000003f.0000003f.  \ Disable ERRs
+\ msr: 8000.2004 00000000.00000000.  \ Clock gating - default
+\ msr: 8000.2004 00000000.00000055.  \ Clock gating
+  msr: 8000.2011 00000000.00000042.  \ VG SPARE - VG fetch state machine hardware fix off
+  msr: 8000.2012 00000000.00000302.  \ VG DELAY
+
+\ msr: 4c00.0015 00000037.00000001.  \ MCP DOTPLL reset; unnecessary because of later video init
+
+\ More GLCP stuff
+  msr: 4c00.000f f2f100ff.56960444.  \ I/O buffer delay controls - LB uses 82f1.00aa.5696.0444
+           \ Our value has lower drive for mem signals and more delay for BA, MA, CKE, CS, RAS, CAS, WE
+
+  msr: 4c00.0016 00000000.00000000.  \ Turn off debug clock - LB has 2 (default, GLIU1 to debug logic)
+\ msr: 4c00.001e 00000000.0000603c.  \ Processor throttle off delay - LB values
+  msr: 4c00.2004 00000000.00000015.  \ Hardware clock gating for everything (Insyde uses 0x14)
+
+  msr: 5000.2014 00000000.00ffffff.  \ Enables PCI access to low mem
+
+[ifdef] lx-devel
+  msr: 4800.2001 00000000.00040c00.  \ Set VP reference clock divider to 0xc, not 0xe, CRT mode
+[else]
+\  msr: 4800.2001 00000000.00040c08.  \ Set VP reference clock divider to 0xc, not 0xe, TFT mode
+  msr: 4800.2001 00000000.00048c08.  \ Set VP reference clock divider to 0xc, not 0xe, TFT + CRT mode
+[then]
+  \ The datasheet says the MSR number is 4800.0011, but that is wrong
+  msr: 4800.2011 0000003f.dfffffff.  \ Set TFT pads to registered
+
+\ 5536 region configs
+  msr: 5100.0002 00000000.007f0000.  \ Disable SMIs
+  msr: 5101.0002 0000000f.0000000f.  \ Disable SMIs
+
+\ msr: 5100.0010 44000020.00020013.  \ PCI timings - already set
+  msr: 5100.0020 018b4001.018b0001.  \ Region configs
+  msr: 5100.0021 010fc001.01000001.  \ GPIO
+  msr: 5100.0022 0183c001.01800001.  \ MFGPT
+  msr: 5100.0023 0189c001.01880001.  \ IRQ mapper
+  msr: 5100.0024 0147c001.01400001.  \ PMS
+  msr: 5100.0025 0187c001.01840001.  \ ACPI
+  msr: 5100.0026 014fc001.01480001.  \ AC97 128 bytes (0x80)
+  msr: 5100.0027 fe01a000.fe01a001.  \ OHCI
+  msr: 5100.0028 fe01b000.fe01b001.  \ EHCI
+  msr: 5100.0029 efc00000.efc00001.  \ UOC
+  msr: 5100.002b 018ac001.018a0001.  \ IDE bus master
+  msr: 5100.002f 00084001.00084009.  \ Port 84 (what??)
+  msr: 5101.0020 400000ef.c00fffff.  \ P2D_BM0 UOC
+  msr: 5101.0023 500000fe.01afffff.  \ P2D_BMK Descriptor 0 OHCI
+  msr: 5101.0024 400000fe.01bfffff.  \ P2D_BMK Descriptor 1 EHCI
+  msr: 5101.0083 00000000.0000ff00.  \ Disable SMIs
+  msr: 5101.00e0 60000000.1f0ffff8.  \ IOD_BM Descriptor 0 ATA IO address
+  msr: 5101.00e1 a0000001.480fff80.  \ IOD_BM Descriptor 1 AC97
+  msr: 5101.00e2 80000001.400fff80.  \ IOD_BM Descriptor 2 PMS
+  msr: 5101.00e3 80000001.840fffe0.  \ IOD_BM Descriptor 3 ACPI
+\ msr: 5101.00e4 00000001.858ffff8.  \ IOD_BM Descriptor 4 Don't carve ACPI into partially-emulated ranges
+  msr: 5101.00e5 60000001.8a0ffff0.  \ IOD_BM Descriptor 5 bus master IDE
+\ msr: 5101.00eb 00000000.f0301850.  \ IOD_SC Descriptor 1 Don't carve ACPI into partially-emulated ranges
+
+  msr: 5140.0002 0000fbff.00000000.  \ Disable SMIs
+
+  msr: 5140.0008 0000f001.00001880.  \ LBAR_IRQ
+  msr: 5140.0009 fffff001.fe01a000.  \ LBAR_KEL (USB)
+  msr: 5140.000b     f001.000018b0.  \ LBAR_SMB
+  msr: 5140.000c     f001.00001000.  \ LBAR_GPIO
+  msr: 5140.000d     f001.00001800.  \ LBAR_MFGPT
+  msr: 5140.000e     f001.00001840.  \ LBAR_ACPI
+  msr: 5140.000f     f001.00001400.  \ LBAR_PMS
+\ msr: 5140.0010 fffff007.20000000.  \ LBAR_FLSH0 no 5536 NAND FLASH on any LX platform
+\ msr: 5140.0011  \ LBAR_FLSH1
+\ msr: 5140.0012  \ LBAR_FLSH2
+\ msr: 5140.0013  \ LBAR_FLSH3
+\ msr: 5140.0014 00000000.80070003.  \ LEG_IO already set in romreset
+  msr: 5140.0015 00000000.00000f7d.  \ BALL_OPTS - IDE pins are IDE, not NAND
+\ msr: 5140.001b 00000000.07770777.  \ NANDF_DATA - default
+\ msr: 5140.001c 00000000.00000777.  \ NANDF_CTL - default
+  msr: 5140.001f 00000000.00000011.  \ KEL_CTRL
+  msr: 5140.0020 00000000.bb350a00.  \ IRQM_YLOW NAND distract, NAND ready, PM SCI OR, AC97, RTC Alarm, USB, -, SW IRQ
+  msr: 5140.0021 00000000.04000000.  \ IRQM_YHIGH xUART2, UART1, xKEL, SMB, -, -, -, -
+  msr: 5140.0022 00000000.00002222.  \ IRQM_ZLOW
+  msr: 5140.0023 00000000.60baa5e2.  \ IRQM_ZHIGH
+  msr: 5140.0025 00000000.00001002.  \ IRQM_LPC
+\ msr: 5140.0028 00000000.00000000.  \ MFGPT_IRQ off - default
+\ msr: 5140.0040 00000000.00000000.  \ DMA_MAP - default
+\ msr: 5140.004e 00000000.ef2500c0.  \ LPC_SIRQ
+\ msr: 5140.004e 00000000.effd0080.  \ LPC_SIRQ
+  msr: 5140.004e 00000000.effd00c0.  \ LPC_SIRQ - Active high bit 12 (mouse) and 2 (kbd), Enable, Quiet, 17 frames
+
+\ USB host controller
+  msr: 5120.0001 0000000b.00000000.  \ USB_GLD_MSR_CONFIG - 5536 page 262
+  msr: 5120.0008 0000000e.fe01a000.  \ USB OHC Base Address - 5536 page 266
+  msr: 5120.0009 0000200e.fe01b000.  \ USB EHC Base Address - 5536 page 266 FLADJ set
+  msr: 5120.000b 00000002.efc00000.  \ USB UOC Base Address - 5536 page 266
+
+\ Clear possible spurious USB Short Serial detect bit per 5536 erratum 57
+  msr: 5120.0015 00000010.00000000.  \ USB_GLD_MSR_DIAG
+
+here lx-msr-init - constant /lx-msr-init




More information about the OpenBIOS mailing list