Author: blueswirl Date: 2007-11-17 19:56:43 +0100 (Sat, 17 Nov 2007) New Revision: 177
Modified: openbios-devel/arch/sparc32/entry.S openbios-devel/drivers/obio.c Log: Reset fixes: * recalculate CRC to avoid error message and halt after reset * fix bug that crashed SS10/SMP when reset
Modified: openbios-devel/arch/sparc32/entry.S =================================================================== --- openbios-devel/arch/sparc32/entry.S 2007-11-14 19:25:43 UTC (rev 176) +++ openbios-devel/arch/sparc32/entry.S 2007-11-17 18:56:43 UTC (rev 177) @@ -129,7 +129,7 @@ ! Check if this not the first SMP CPU, if so, bypass PROM entirely add %g3, SPARC_SMP_VALID, %g1 lduba [%g1] ASI_M_CTL, %g2 - stba %g0, [%g2] ASI_M_CTL + stba %g0, [%g1] ASI_M_CTL set PHYS_SS10_EEPROM + OHW_RAM_SIZE, %g1 ldda [%g1] ASI_M_CTL, %g0 tst %g2
Modified: openbios-devel/drivers/obio.c =================================================================== --- openbios-devel/drivers/obio.c 2007-11-14 19:25:43 UTC (rev 176) +++ openbios-devel/drivers/obio.c 2007-11-17 18:56:43 UTC (rev 177) @@ -687,6 +687,7 @@ unsigned int machine_id; struct cpudef *cpu; ohwcfg_v3_t *header; + uint16_t crc;
ob_new_obio_device("eeprom", NULL);
@@ -721,6 +722,7 @@ header->kernel_image = 0; header->kernel_size = 0; header->cmdline_size = 0; + header->crc = OHW_compute_crc(header, 0x00, 0xF8);
boot_device = nv_info.boot_devices[0]; nographic = nv_info.graphic_flags & OHW_GF_NOGRAPHICS;