diff options
Diffstat (limited to 'arch/i386/kernel/acpi/wakeup.S')
| -rw-r--r-- | arch/i386/kernel/acpi/wakeup.S | 41 |
1 files changed, 10 insertions, 31 deletions
diff --git a/arch/i386/kernel/acpi/wakeup.S b/arch/i386/kernel/acpi/wakeup.S index ed0a0f2c1597..f22ba8534d26 100644 --- a/arch/i386/kernel/acpi/wakeup.S +++ b/arch/i386/kernel/acpi/wakeup.S | |||
| @@ -151,51 +151,30 @@ bogus_real_magic: | |||
| 151 | #define VIDEO_FIRST_V7 0x0900 | 151 | #define VIDEO_FIRST_V7 0x0900 |
| 152 | 152 | ||
| 153 | # Setting of user mode (AX=mode ID) => CF=success | 153 | # Setting of user mode (AX=mode ID) => CF=success |
| 154 | |||
| 155 | # For now, we only handle VESA modes (0x0200..0x03ff). To handle other | ||
| 156 | # modes, we should probably compile in the video code from the boot | ||
| 157 | # directory. | ||
| 154 | mode_set: | 158 | mode_set: |
| 155 | movw %ax, %bx | 159 | movw %ax, %bx |
| 156 | #if 0 | 160 | subb $VIDEO_FIRST_VESA>>8, %bh |
| 157 | cmpb $0xff, %ah | 161 | cmpb $2, %bh |
| 158 | jz setalias | 162 | jb check_vesa |
| 159 | |||
| 160 | testb $VIDEO_RECALC>>8, %ah | ||
| 161 | jnz _setrec | ||
| 162 | |||
| 163 | cmpb $VIDEO_FIRST_RESOLUTION>>8, %ah | ||
| 164 | jnc setres | ||
| 165 | |||
| 166 | cmpb $VIDEO_FIRST_SPECIAL>>8, %ah | ||
| 167 | jz setspc | ||
| 168 | |||
| 169 | cmpb $VIDEO_FIRST_V7>>8, %ah | ||
| 170 | jz setv7 | ||
| 171 | #endif | ||
| 172 | |||
| 173 | cmpb $VIDEO_FIRST_VESA>>8, %ah | ||
| 174 | jnc check_vesa | ||
| 175 | #if 0 | ||
| 176 | orb %ah, %ah | ||
| 177 | jz setmenu | ||
| 178 | #endif | ||
| 179 | |||
| 180 | decb %ah | ||
| 181 | # jz setbios Add bios modes later | ||
| 182 | 163 | ||
| 183 | setbad: clc | 164 | setbad: |
| 165 | clc | ||
| 184 | ret | 166 | ret |
| 185 | 167 | ||
| 186 | check_vesa: | 168 | check_vesa: |
| 187 | subb $VIDEO_FIRST_VESA>>8, %bh | ||
| 188 | orw $0x4000, %bx # Use linear frame buffer | 169 | orw $0x4000, %bx # Use linear frame buffer |
| 189 | movw $0x4f02, %ax # VESA BIOS mode set call | 170 | movw $0x4f02, %ax # VESA BIOS mode set call |
| 190 | int $0x10 | 171 | int $0x10 |
| 191 | cmpw $0x004f, %ax # AL=4f if implemented | 172 | cmpw $0x004f, %ax # AL=4f if implemented |
| 192 | jnz _setbad # AH=0 if OK | 173 | jnz setbad # AH=0 if OK |
| 193 | 174 | ||
| 194 | stc | 175 | stc |
| 195 | ret | 176 | ret |
| 196 | 177 | ||
| 197 | _setbad: jmp setbad | ||
| 198 | |||
| 199 | .code32 | 178 | .code32 |
| 200 | ALIGN | 179 | ALIGN |
| 201 | 180 | ||
