On 06.02.2008 02:38, Marc Jones wrote:
Carl-Daniel Hailfinger wrote:
On 05.02.2008 00:27, Marc Jones wrote:
/**
- TODO.
Index: coreboot-v3/mainboard/adl/msm800sev/stage1.c
--- coreboot-v3.orig/mainboard/adl/msm800sev/stage1.c 2008-02-04 15:41:14.000000000 -0700 +++ coreboot-v3/mainboard/adl/msm800sev/stage1.c 2008-02-04 15:50:04.000000000 -0700 @@ -53,3 +53,15 @@ cs5536_disable_internal_uart(); w83627hf_enable_serial(0x2e, SERIAL_DEV, SERIAL_IOBASE); }
+void pre_payload(void) +{
- struct msr msr;
- /* Set ROM cache properties for runtime. */
- msr = rdmsr(CPU_RCONF_DEFAULT);
- msr.hi &= ~(0xFF << 24); // clear ROMRC
- msr.hi |= 0x25 << 24; // set WS, CD, WP
Use ROMRC_RCONF_SAFE instead of 0x25?
sure
Thanks.
- wrmsr(CPU_RCONF_DEFAULT, msr);
- banner(BIOS_DEBUG, "pre_payload: done");
+}
pre_payload() is not board specific, but Geode LX-specific. geodelxinit.c may be a more appropriate location.
Correct, but I foresee other non-Geode platforms needing a call just prior to the payload running but I am flexible on this.
Sorry, I didn't express clearly enough what I wanted. I just tried to avoid duplication if this specific version of pre_payload() in mainboard code and hoped to have the code of this pre_payload() in geodelxinit.c. Maybe rename it to platform_pre_payload() and have it called by pre_payload() inside mainboard specific code. That would give us all the flexibility with minimum code duplication.
Regards, Carl-Daniel