diff --git a/bochs/bios/BIOS-bochs-2-processors b/bochs/bios/BIOS-bochs-2-processors index 31e67186f..c9693c6db 100644 Binary files a/bochs/bios/BIOS-bochs-2-processors and b/bochs/bios/BIOS-bochs-2-processors differ diff --git a/bochs/bios/BIOS-bochs-4-processors b/bochs/bios/BIOS-bochs-4-processors index d96192b37..43d4bc441 100644 Binary files a/bochs/bios/BIOS-bochs-4-processors and b/bochs/bios/BIOS-bochs-4-processors differ diff --git a/bochs/bios/BIOS-bochs-8-processors b/bochs/bios/BIOS-bochs-8-processors index bd7222e93..0d206bd23 100644 Binary files a/bochs/bios/BIOS-bochs-8-processors and b/bochs/bios/BIOS-bochs-8-processors differ diff --git a/bochs/bios/BIOS-bochs-latest b/bochs/bios/BIOS-bochs-latest index cde5f023e..7a7ec209d 100644 Binary files a/bochs/bios/BIOS-bochs-latest and b/bochs/bios/BIOS-bochs-latest differ diff --git a/bochs/bios/Makefile.in b/bochs/bios/Makefile.in index c96623bf0..dbf85c366 100644 --- a/bochs/bios/Makefile.in +++ b/bochs/bios/Makefile.in @@ -70,7 +70,7 @@ dist-clean: clean bios-clean: @RMCOMMAND@ BIOS-bochs-* -BIOS-bochs-latest: rombios.c biossums +BIOS-bochs-latest: rombios.c apmbios.S biossums $(GCC) -DBX_SMP_PROCESSORS=1 $(BIOS_BUILD_DATE) -E -P $< > _rombios_.c $(BCC) -o rombios.s -C-c -D__i86__ -0 -S _rombios_.c sed -e 's/^\.text//' -e 's/^\.data//' rombios.s > _rombios_.s @@ -80,7 +80,7 @@ BIOS-bochs-latest: rombios.c biossums ./biossums BIOS-bochs-latest rm -f _rombios_.s -BIOS-bochs-2-processors: rombios.c biossums +BIOS-bochs-2-processors: rombios.c apmbios.S biossums $(GCC) -DBX_SMP_PROCESSORS=2 $(BIOS_BUILD_DATE) -E -P $< > _rombios2_.c $(BCC) -o rombios2.s -C-c -D__i86__ -0 -S _rombios2_.c sed -e 's/^\.text//' -e 's/^\.data//' rombios2.s > _rombios2_.s @@ -90,7 +90,7 @@ BIOS-bochs-2-processors: rombios.c biossums ./biossums BIOS-bochs-2-processors rm -f _rombios2_.s -BIOS-bochs-4-processors: rombios.c biossums +BIOS-bochs-4-processors: rombios.c apmbios.S biossums $(GCC) -DBX_SMP_PROCESSORS=4 $(BIOS_BUILD_DATE) -E -P $< > _rombios4_.c $(BCC) -o rombios4.s -C-c -D__i86__ -0 -S _rombios4_.c sed -e 's/^\.text//' -e 's/^\.data//' rombios4.s > _rombios4_.s @@ -100,7 +100,7 @@ BIOS-bochs-4-processors: rombios.c biossums ./biossums BIOS-bochs-4-processors rm -f _rombios4_.s -BIOS-bochs-8-processors: rombios.c biossums +BIOS-bochs-8-processors: rombios.c apmbios.S biossums $(GCC) -DBX_SMP_PROCESSORS=8 $(BIOS_BUILD_DATE) -E -P $< > _rombios8_.c $(BCC) -o rombios8.s -C-c -D__i86__ -0 -S _rombios8_.c sed -e 's/^\.text//' -e 's/^\.data//' rombios8.s > _rombios8_.s diff --git a/bochs/bios/apmbios.S b/bochs/bios/apmbios.S index d8ac16084..42a113d02 100644 --- a/bochs/bios/apmbios.S +++ b/bochs/bios/apmbios.S @@ -224,7 +224,7 @@ APMSYM(04): ; APM Set Power State APMSYM(07): cmp al, #0x07 - jne APMSYM(0a) + jne APMSYM(08) cmp bx, #1 jne APMSYM(ok) @@ -267,6 +267,14 @@ APMSYM(07_standby): pop edx jmp APMSYM(ok) +;----------------- +; APM Enable / Disable +APMSYM(08): + cmp al, #0x08 + jne APMSYM(0a) + + jmp APMSYM(ok) + ;----------------- ; Get Power Status APMSYM(0a): @@ -297,13 +305,32 @@ APMSYM(0b): ; APM Driver Version APMSYM(0e): cmp al, #0x0e - jne APMSYM(unimplemented) + jne APMSYM(0f) mov ah, #1 mov al, #2 jmp APMSYM(ok) +;----------------- +; APM Engage / Disengage +APMSYM(0f): + cmp al, #0x0f + jne APMSYM(10) + + jmp APMSYM(ok) + +;----------------- +; APM Get Capabilities +APMSYM(10): + cmp al, #0x10 + jne APMSYM(unimplemented) + + mov bl, #0 + mov cx, #0 + + jmp APMSYM(ok) + ;----------------- APMSYM(ok): popf