Annotation of qemu/roms/openbios/forth/util/apic.fs, revision 1.1

1.1     ! root        1: \ 
        !             2: \ ioapic and local apic tester
        !             3: \ 
        !             4: \ Copyright (C) 2003 Stefan Reinauer
        !             5: \ 
        !             6: \ See the file "COPYING" for further information about
        !             7: \ the copyright and warranty status of this work.
        !             8: \ 
        !             9: 
        !            10: hex
        !            11: 
        !            12: fee00000 constant lapic_base
        !            13: fec00000 constant ioapic_base
        !            14: 
        !            15: : read_lapic ( regoffset -- value )
        !            16:   lapic_base + l@
        !            17:   ;
        !            18: 
        !            19: : write_lapic ( value regoffset -- )
        !            20:   lapic_base + l!
        !            21:   ;
        !            22: 
        !            23: : read_ioapic ( regoffset -- low_value high_value )
        !            24:   2* 10 + dup 
        !            25:   ioapic_base l! ioapic_base 4 cells + l@
        !            26:   swap 1+ 
        !            27:   ioapic_base l! ioapic_base 4 cells + l@
        !            28:   ;
        !            29: 
        !            30: : write_ioapic ( low high regoffset -- )
        !            31:   2* 10 + dup                                  ( low high offs offs ) 
        !            32:   ioapic_base l! rot ioapic_base 4 cells + l!  ( high offs )
        !            33:   1+
        !            34:   ioapic_base l! ioapic_base 4 cells + l!      ( high offs )
        !            35:   ;
        !            36: 
        !            37: : test-lapic 
        !            38:   s" Dumping local apic:" type cr
        !            39:   3f0 0 do
        !            40:     i dup ( lapic_base + ) s" 0x" type . s" = 0x" type read_lapic space . 
        !            41:     i 30 and 0= if cr then
        !            42:   10 +loop
        !            43:   cr
        !            44:   ;
        !            45: 
        !            46: : test-ioapic
        !            47:   s" Dumping io apic:" type cr
        !            48:   17 0 do 
        !            49:     i dup s" irq=" type . read_ioapic s" = 0x" type . s" ." type . 
        !            50:     i 1 and 0<> if 
        !            51:       cr
        !            52:     then
        !            53:   loop
        !            54:   cr
        !            55:   ;
        !            56: 
        !            57: : dump-apics
        !            58:   test-lapic
        !            59:   test-ioapic
        !            60:   ;
        !            61: 
        !            62: \ tag: apic test utility

unix.superglobalmegacorp.com

This archive runs on limited infrastructure. Preserving old code on modern bandwidth. Automated agents are requested to crawl responsibly.