[SerialICE] SerialICE_memory_read_filter problem

Nils njacobs8 at hetnet.nl
Mon May 9 22:36:34 CEST 2011


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.



More information about the SerialICE mailing list