Hi,
I have been trying to run my Wyse S50 rom in SerialICE and i have been able to
pass Warm Reset with the following patch in serialice.lua
(SerialICE_msr_write_filter):
> -- **********************************************************
> --
> -- Wyse S50 WARM_RESET filter
>
> if addr == 0x4c000014 then
> lo = bit.band(0x00000001, lo);
> if lo == 0x00000001 then
> printf("WARM_RESET (filtered)\n")
> SerialICE_system_reset()
> return false, hi, lo
> end
> end
But i have some troubles further on in a loop in what i think is a TSC
calibration routine.
I think there is a speed problem that prohibits leaving the loop.
I would like to skip the loop and tried with the following patch in
SerialICE_memory_read_filter :
> if addr == 0x000f8978 then
> -- **********************************************************
> --
> -- Wyse S50 skip TSC calibration loop
> printf("Skipping TSC calibration loop...\n")
> regs.eip = 0xa1c0
> return false, true, 0
> elseif addr >= 0xfff00000 and addr <= 0xffffffff then
> -- ROM accesses go to Qemu only
> return false, true, 0
I want to skip from 0x000f8978 to 0x000fa1c0 (adresses taken from GDB
debugging) but the printf never shows.
Could someone give me a hint at what i am doing wrong?
Thanks ,Nils.