Changeset 51057 in vbox for trunk/src/VBox/Devices/PC/BIOS
- Timestamp:
- Apr 11, 2014 9:24:29 PM (11 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/src/VBox/Devices/PC/BIOS/pmsetup.inc
r38699 r51057 15 15 ;; 16 16 17 LVT 0equ 0FEE00350h18 LVT 1equ 0FEE00360h17 LVT_LINT0 equ 0FEE00350h 18 LVT_LINT1 equ 0FEE00360h 19 19 20 20 public pmode_setup 21 21 22 ;; Program LVT0/LVT1 entries in the local APIC. Some Linux kernels (e.g., RHEL4 23 ;; SMP 32-bit) expect the entries to be unmasked in virtual wire mode. 22 ;; Program LINT0/LINT1 entries in the local APIC. Some Linux kernels (e.g., 23 ;; RHEL4 SMP 32-bit) expect the entries to be unmasked in virtual wire mode. 24 ;; Also make sure APIC timer is masked. 24 25 25 26 pmode_setup proc near … … 31 32 cli ; Interrupts would kill us! 32 33 call pmode_enter 34 33 35 mov eax, cr0 ; Clear CR0.CD and CR0.NW 34 36 and eax, 09FFFFFFFh 35 37 mov cr0, eax 36 mov esi, LVT0 ; Program LVT0 to ExtINT and unmask 38 39 mov esi, LVT_LINT0 ; Program LINT0 to ExtINT and unmask 37 40 mov eax, [esi] 38 41 and eax, 0FFFE00FFh 39 42 or ah, 7 40 43 mov [esi], eax 41 mov esi, LVT1 ; Program LVT1 to NMI and unmask 44 45 mov esi, LVT_LINT1 ; Program LINT1 to NMI and unmask 42 46 mov eax, [esi] 43 47 and eax, 0FFFE00FFh 44 48 or ah, 4 45 49 mov [esi], eax 50 46 51 call pmode_exit 47 52 popf
Note:
See TracChangeset
for help on using the changeset viewer.