Annotation of qemu/tests/tcg/test-i386-vm86.S, revision 1.1

1.1     ! root        1:         .code16
        !             2:         .globl vm86_code_start
        !             3:         .globl vm86_code_end
        !             4: 
        !             5: #define GET_OFFSET(x) ((x) - vm86_code_start + 0x100)
        !             6: 
        !             7: vm86_code_start:
        !             8:         movw $GET_OFFSET(hello_world), %dx
        !             9:         movb $0x09, %ah
        !            10:         int $0x21
        !            11: 
        !            12:         /* prepare int 0x90 vector */
        !            13:         xorw %ax, %ax
        !            14:         movw %ax, %es
        !            15:         es movw $GET_OFFSET(int90_test), 0x90 * 4
        !            16:         es movw %cs, 0x90 * 4 + 2
        !            17: 
        !            18:         /* launch int 0x90 */
        !            19: 
        !            20:         int $0x90
        !            21: 
        !            22:         /* test IF support */
        !            23:         movw $GET_OFFSET(IF_msg), %dx
        !            24:         movb $0x09, %ah
        !            25:         int $0x21
        !            26: 
        !            27:         pushf
        !            28:         popw %dx
        !            29:         movb $0xff, %ah
        !            30:         int $0x21
        !            31: 
        !            32:         cli
        !            33:         pushf
        !            34:         popw %dx
        !            35:         movb $0xff, %ah
        !            36:         int $0x21
        !            37: 
        !            38:         sti
        !            39:         pushfl
        !            40:         popl %edx
        !            41:         movb $0xff, %ah
        !            42:         int $0x21
        !            43: 
        !            44: #if 0
        !            45:         movw $GET_OFFSET(IF_msg1), %dx
        !            46:         movb $0x09, %ah
        !            47:         int $0x21
        !            48: 
        !            49:         pushf
        !            50:         movw %sp, %bx
        !            51:         andw $~0x200, (%bx)
        !            52:         popf
        !            53: #else
        !            54:         cli
        !            55: #endif
        !            56: 
        !            57:         pushf
        !            58:         popw %dx
        !            59:         movb $0xff, %ah
        !            60:         int $0x21
        !            61: 
        !            62:         pushfl
        !            63:         movw %sp, %bx
        !            64:         orw $0x200, (%bx)
        !            65:         popfl
        !            66: 
        !            67:         pushfl
        !            68:         popl %edx
        !            69:         movb $0xff, %ah
        !            70:         int $0x21
        !            71: 
        !            72:         movb $0x00, %ah
        !            73:         int $0x21
        !            74: 
        !            75: int90_test:
        !            76:         pushf
        !            77:         pop %dx
        !            78:         movb $0xff, %ah
        !            79:         int $0x21
        !            80: 
        !            81:         movw %sp, %bx
        !            82:         movw 4(%bx), %dx
        !            83:         movb $0xff, %ah
        !            84:         int $0x21
        !            85: 
        !            86:         movw $GET_OFFSET(int90_msg), %dx
        !            87:         movb $0x09, %ah
        !            88:         int $0x21
        !            89:         iret
        !            90: 
        !            91: int90_msg:
        !            92:         .string "INT90 started\n$"
        !            93: 
        !            94: hello_world:
        !            95:         .string "Hello VM86 world\n$"
        !            96: 
        !            97: IF_msg:
        !            98:         .string "VM86 IF test\n$"
        !            99: 
        !           100: IF_msg1:
        !           101:         .string "If you see a diff here, your Linux kernel is buggy, please update to 2.4.20 kernel\n$"
        !           102: 
        !           103: vm86_code_end:

unix.superglobalmegacorp.com

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