[SerialICE] r87 - trunk/qemu-0.11.0

Stefan Reinauer stepan at coresystems.de
Sun Dec 6 00:45:05 CET 2009


Stefan Reinauer wrote:
> Basically what's missing in the LUA script to make resets via cf9 work
> properly is adding the following to SerialICE_IO_write_filter:
>
>    if port == 0xcf9 and data == 0x06 then
>         SerialICE_system_reset()
>         return false, data
>    end
>   

I will add this in one of the next commits. But I think it's time to
start using the device tree code in LUA, or else it'll become too
crowded with corner cases of my test machine, which currently has five
or six "automatic loop skips":

    if ( port == 0x60 and data == 0xaa ) then
        if ( regs.eip == 0xbd6d and regs.eax == 0x8aa and regs.ecx ==
0x00fffff0 ) then
            -- Loop does IO at f000:bd6d. Execute the first 16 IO accesses
            printf("Skipping keyboard timeout...\n")
            regs.eax = 0x01aa -- ah is the outer loop counter
            regs.ecx = 0x0010 -- and the last 16
        end
    end


Stefan


-- 
coresystems GmbH • Brahmsstr. 16 • D-79104 Freiburg i. Br.
      Tel.: +49 761 7668825 • Fax: +49 761 7664613
Email: info at coresystems.dehttp://www.coresystems.de/
Registergericht: Amtsgericht Freiburg • HRB 7656
Geschäftsführer: Stefan Reinauer • Ust-IdNr.: DE245674866




More information about the SerialICE mailing list