On 5/9/11 1:36 PM, Nils wrote:
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
do you want to check for eip here? I guess there is no memory read instruction accessing f8978
-- ********************************************************** -- -- 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.
SerialICE mailing list SerialICE@serialice.com http://serialice.com/mailman/listinfo/serialice