Stanislav Shwartsman
817bbc6435
[Bochs-developers] [PATCH] rombios32: fix SMBIOS end address range reporting
...
The -1 seems to be in the wrong place here.
Patch by Alex Williamson from the kvm tree [1].
[1] http://git.kernel.org/?p=virt/kvm/kvm-userspace.git;a=commitdiff;h=dd0f27d08ce415da6a5215f0901e7d98ab084f79
- Sebastian
2009-01-11 19:52:36 +00:00
Stanislav Shwartsman
06e90a9304
Deduplicate INT 15h, AX=E820h code by removing some identical parts.
...
- Sebastian
2009-01-10 10:50:07 +00:00
Volker Ruppert
0b7b330c34
- run acpi-dsdt.dsl through cpp before compiling with iasl (to support #ifdef and
...
maybe other preprocessor directives)
2008-12-27 17:23:23 +00:00
Volker Ruppert
ab1da2f8f3
- the HPET merge from QEMU introduced new structures which need packing (Sebastian Herbszt)
2008-12-27 16:28:49 +00:00
Volker Ruppert
f2f5d5c915
- applied 3 patches from the Qemu project
...
* added support for memory above the PCI hole (Izik Eidus)
* smp_probe: instead of timimg out, wait until all cpus are up (Avi Kivity)
* Bochs BIOS changes to support HPET in Qemu (Beth Kon)
- added documentation about CMOS registers set by Qemu
2008-12-25 16:58:44 +00:00
Volker Ruppert
f310ea769b
- rebuild after latest changes
2008-12-23 09:22:52 +00:00
Volker Ruppert
c3b6fc563f
- use "__attribute__((__packed__))" instead of "#pragma pack" (Sebastian Herbszt)
2008-12-23 09:20:43 +00:00
Volker Ruppert
1060c19b04
- added support for booting from option ROM with BCV entry (Laurent Vivier)
2008-12-23 09:20:06 +00:00
Volker Ruppert
13822e151e
- applied 3 patches from the Qemu project (Anthony Liguori)
...
* disable stack protector for BIOS
* make ACPI tables byte-aligned
* fix Bochs BIOS build from a separate directory
2008-12-20 14:27:22 +00:00
Stanislav Shwartsman
62782f125c
Patch applied
2008-12-15 06:05:52 +00:00
Stanislav Shwartsman
0f2a7640e5
Merged patchfix by Sebastian
2008-12-07 17:32:29 +00:00
Stanislav Shwartsman
02e21074a0
Don't power down vga card on entering S3 state.
...
Patch by Gleb Natapov
2008-12-04 18:48:33 +00:00
Stanislav Shwartsman
dcf68cca6d
Don't use unreserved memory in BIOS.
...
Patch by Gleb Natapov
2008-12-04 18:46:55 +00:00
Stanislav Shwartsman
4bc2d5b4e9
Execute rombios32 code from rom address 0xe0000.
...
Patch by Gleb Natapov
2008-12-04 18:44:14 +00:00
Stanislav Shwartsman
3692baf4bb
Preserve memory content during SMM iniT.
...
Patch by Gleb Natapov
2008-12-04 18:42:32 +00:00
Stanislav Shwartsman
a4e971c0a6
Add S3 state to DSDT. Handle resume event in the BIOS.
...
patch by Gleb Natapov
2008-12-04 18:40:54 +00:00
Stanislav Shwartsman
ebc41a1dad
recompile BIOS
2008-12-03 14:49:09 +00:00
Stanislav Shwartsman
85435e7fcf
Applied [Bochs-developers] [PATCH v3 1/6] Move PIC initialization out of line to save space in post code area.
2008-11-13 19:15:20 +00:00
Stanislav Shwartsman
b54ea2e0b8
Applied patch [ 2217229 ] Panic on EBDA overflow in rombios32
2008-11-03 19:53:12 +00:00
Stanislav Shwartsman
bc89bf1c48
Merge [ 2210194 ] Log pci class code patch
2008-10-31 18:07:15 +00:00
Stanislav Shwartsman
4f31cbe6b4
QEMU UUID support - QEMU only is affected
2008-10-15 19:04:09 +00:00
Stanislav Shwartsman
e872934cd5
This one is easy :)
2008-10-13 09:47:55 +00:00
Stanislav Shwartsman
91ecba9b91
Updated BIOS images
2008-10-01 08:41:19 +00:00
Stanislav Shwartsman
518293fe40
iApplied patch: Add rombios decoding of F11/F12 scancodes in support for
...
Microsoft's Remote Installation Services, which require F11/F12 keys
2008-10-01 07:41:22 +00:00
Volker Ruppert
21b3b51474
- remove CMOS access from AML code (SF patch #2073039 )
2008-09-14 08:47:00 +00:00
Stanislav Shwartsman
53426fc136
recompile BIOS images with latest merged patches
2008-08-25 18:56:48 +00:00
Stanislav Shwartsman
e315c1db86
BIOS patches applied
2008-08-24 20:41:38 +00:00
Stanislav Shwartsman
528e4a4151
It is QEMU only so don't see any problem to apply a patch :)
...
Applied SF patch :
2031978 Fix VMware backdoor command 0Ah
2008-07-30 15:13:40 +00:00
Volker Ruppert
61f51bc8af
- minor ATA/ATAPI model string fixes
...
* cut model string on boot screen if larger than 36 characters to make one
"ata" message fit in one line
* config parameter for model string needs one more byte
* harddrive: terminate model string with null
2008-07-27 08:06:52 +00:00
Stanislav Shwartsman
1c09e7f5db
Remove incorrect comment
2008-07-11 03:54:33 +00:00
Volker Ruppert
b6932bc3f8
- applied rombios patches from SF tracker by Sebastian
...
* handle shutdown status codes 0Ah, 0Bh and 0Ch
* changed #if #else construct since hard_drive_post is always called
2008-06-22 09:05:35 +00:00
Volker Ruppert
69f3fd5693
- BIOS images regenerated
2008-06-03 16:03:40 +00:00
Stanislav Shwartsman
e34938386a
Merged patch from @SF tracker
2008-06-02 20:08:10 +00:00
Volker Ruppert
a21f26bd5f
- corrected image size (biossums added 512 bytes with checksum after fixing the
...
timestamp manually from German to English)
2008-06-01 10:01:34 +00:00
Volker Ruppert
493f99d9b7
- LGPL'd VGABIOS updated to version 0.6b (see VGABIOS-lgpl-README for details)
2008-05-30 16:55:56 +00:00
Volker Ruppert
02ba8c791f
- set the compatible pci interrupt router back to PIIX (SF patch #1956843 by Sebastian)
2008-05-18 11:38:24 +00:00
Stanislav Shwartsman
f5135b4860
Precompiled Bochs BIOS binaries
2008-05-02 19:45:41 +00:00
Stanislav Shwartsman
da7684bc06
bios patch: kvm: bios: don't advertise ACPI C2 or C3 support
2008-05-02 18:37:47 +00:00
Stanislav Shwartsman
a67d149dd6
Merged patches from @SF tracker for BIOS
2008-05-02 08:41:46 +00:00
Stanislav Shwartsman
024b3eece7
Merged LBA48 patch from @SF tracker
2008-04-21 14:22:01 +00:00
Stanislav Shwartsman
ae82e981c0
Updated BIOS binaries
2008-04-10 20:30:20 +00:00
Stanislav Shwartsman
dcb392311f
Merged BIOS patches from @SF tracker
2008-04-08 16:41:18 +00:00
Stanislav Shwartsman
127be5b793
Fixed race condition in QEMU - can't happen in Bochs because in Bochs all RMW are atomic (for now)
2008-03-28 09:02:57 +00:00
Stanislav Shwartsman
a5544a693a
indent changes
2008-03-26 16:21:46 +00:00
Stanislav Shwartsman
b45b8f20c5
Update precompiled BIOS images
2008-03-21 19:30:16 +00:00
Stanislav Shwartsman
9ebfede83b
Merged patch from @SF tracker
2008-03-21 19:06:31 +00:00
Stanislav Shwartsman
ee43b33af9
Merge SF patch
2008-03-19 22:48:55 +00:00
Stanislav Shwartsman
f1f505cfab
Patch from @SF tracker
2008-03-07 21:26:52 +00:00
Stanislav Shwartsman
76f1254e2e
Applied patch from @SF tracker
2008-03-06 20:18:20 +00:00
Volker Ruppert
85a8f7993a
- BIOS boot menu support added (SF patch #1901027 by Sebastian)
2008-03-02 19:25:34 +00:00
Stanislav Shwartsman
5813db0bad
Merged PCI IDs patch by Sebastian
2008-02-27 01:41:01 +00:00
Volker Ruppert
08d7c76e09
- applied rombios boot message improvements by Sebastian
...
* shorten the boot failure message (removed redundant part) and added some
indentation
* print BEV product string
* changed put_str to accept segment and offset as parameters. It allows
printing strings from memory != get_CS(), e.g. option roms.
* introduced a custom format specifier %S to bios_printf
2008-02-17 16:38:17 +00:00
Stanislav Shwartsman
2730fa9583
Fixed comment - patch from @sf tracker
2008-02-07 20:46:08 +00:00
Stanislav Shwartsman
3cb5a781e8
Merged BIOS @SF patches by Sebastian
...
1878558 SMBIOS fixes
1880471 SMBIOS fix type 0
2008-01-27 17:57:26 +00:00
Stanislav Shwartsman
947c7581fe
whitespace cleanup
2008-01-26 09:15:27 +00:00
Stanislav Shwartsman
4634e2cd4d
BIOS whitespace cleanup
2008-01-24 21:57:22 +00:00
Volker Ruppert
ec3415a7eb
- applied patch from the Qemu-devel list by Filip Navara
...
* added generation of SSDT ACPI table that contains definitions for available
processors
* added basic implementation of SMBIOS
* Added querying of BIOS UUID using VMware backdoor I/O port (enable only if
BX_QEMU is defined)
* Added RTC device to ACPI DSDT table
2008-01-21 21:44:29 +00:00
Stanislav Shwartsman
abe7373657
Merged some BIOS patches from @SF tracker
2008-01-21 15:06:29 +00:00
Volker Ruppert
0a8105e95e
- implemented LBA48 support (since BIOS functions are limited to 32 bit, the
...
max. disk size is now 2 TB)
2008-01-14 19:11:15 +00:00
Stanislav Shwartsman
3b53e234da
Merge SF tracker BIOS patches
2008-01-06 21:00:18 +00:00
Stanislav Shwartsman
c9299c7a3d
Save CPUID signature BIOS patch from @SF tracker
2008-01-06 20:57:24 +00:00
Stanislav Shwartsman
c796f7fffa
Define IPL values patch from #SF tracker
2007-12-23 19:46:27 +00:00
Volker Ruppert
46b3ec2397
- don't abort ATA reset for not existing slave drive. The reset bit must
...
always be cleared to avoid blocking existing master drive.
2007-12-20 18:12:35 +00:00
Volker Ruppert
688cb87e98
- skip SMM init if already done at first boot time (fixes reboot failure)
2007-12-09 15:38:41 +00:00
Stanislav Shwartsman
216f4f2f4f
Fixed my BIOS optimization
2007-12-06 16:56:32 +00:00
Volker Ruppert
147633c460
- inline asm optimizations by Stanislav
...
- initialize PAM register for ROM-to-RAM copy even after reboot
2007-12-01 19:27:28 +00:00
Volker Ruppert
570e87733c
- updated after latest changes
2007-11-18 10:21:51 +00:00
Stanislav Shwartsman
90721b75f6
Merge patch from #SF patches tracker:
...
1830658 Fix >32GB disk banner
2007-11-12 20:58:37 +00:00
Volker Ruppert
cd0e516962
- applied rombios patches from SF patches section by Sebastian
...
* save PnP Option ROM Product Name string in IPL Boot Table
* move the #define IPL_* lines to top of the file and change
struct ipl_entry to ipl_entry_t by using typedef
2007-11-04 15:40:20 +00:00
Stanislav Shwartsman
14b4f66d4e
Fixed comments for bios_printf (patch from #SF tracker)
2007-10-19 10:26:49 +00:00
Volker Ruppert
834904f49b
- improved HD recognition and CD boot (patches by Myles Watson)
...
* fixed minor error from printf patch confusion (negation based on wrong word)
* added helper function await_ide
* changed lba calculation to not corrupt lba (for debugging and clarity)
* added support for partial completions of ata_cmd_packet (never happens in
the simulator, but happens all the time in hardware)
* update atapi_request_sense and atapi_is_ready - based on FILO
* correct an int 15 call that should have been int 0x15
* trivial fix when BX_PCIBIOS and BX_ROMBIOS32 not defined
- implemented %X in bios_printf (patch by Sebastian)
2007-10-14 08:11:35 +00:00
Volker Ruppert
ed3fdad74d
- reverted removal of one DPTE checksum bugfix
...
- fixed %ld and %lu padding (now only using it for %lx)
2007-10-10 17:12:07 +00:00
Volker Ruppert
fc6693001c
- rombios patches by Myles Watson <mylesgw@gmail.com>
...
* corrects a spelling error and removes the lba_capable comment
* moves dpte_segment after dpte_offset (endian problem) in the struct
* changes int13 0x15 to use the logical geometry instead of physical to
return sectors
* clips cylinders in Int13DPT
* fixes bit shift problem in options (parens in the wrong place)
* returns the correct offset for dpte.iobase2
* fixes a pointer arithmetic error in calculating the checksum of the dpte
* moves #if BX_SUPPORT_FLOPPY to include more floppy code
* added support for %lx %ld and %lu for bios_printf()
2007-10-09 16:49:53 +00:00
Stanislav Shwartsman
9326aa151f
Merge checksum patch from mailing list -> need to recompile BIOS
2007-10-07 21:09:15 +00:00
Stanislav Shwartsman
aaf2077bf7
Enable BIOS compilation on amd64 host (patch from developers mailing list + SF tracker)
2007-09-27 20:17:05 +00:00
Stanislav Shwartsman
f562eed497
Applied patch
...
[ 1799877 ] Fix for parallel build (make -j2)
2007-09-22 13:02:42 +00:00
Volker Ruppert
31cf899020
- fixed the memory allocation for the ACPI tables in situations when less than
...
16MB are present (patch by Bernhard Kauer)
2007-09-15 07:24:37 +00:00
Volker Ruppert
471e89dc84
- INT 15h AH=86h was reading the wrong stack frame (SF patch #1791000 )
2007-09-10 20:01:07 +00:00
Volker Ruppert
2346acca98
- regerated after latest updates
2007-09-10 19:25:51 +00:00
Stanislav Shwartsman
7ae653d09c
Added missed param to BX_INFO
2007-09-10 15:10:39 +00:00
Stanislav Shwartsman
14e3dcca08
patch for ACPI header - ability to have different rev number for different ACPI tables
2007-08-30 21:05:22 +00:00
Volker Ruppert
04d6440551
- clear out RSDT memory on init (patch by Bernhard Kauer from the ML)
2007-08-19 07:51:31 +00:00
Volker Ruppert
1332f905ae
- change ACPI table revision number to 1
2007-08-03 13:56:52 +00:00
Volker Ruppert
6ea536f95c
- fixed floppy boot signature check switch
...
- added network boot ROM support in the main Bochs code (already present in BIOS)
2007-08-01 17:10:24 +00:00
Volker Ruppert
feb2f45a3e
- added expansion-ROM boot support to the ROMBIOS (SF patch #1741153 ported from
...
the XenSource project)
2007-06-30 07:15:30 +00:00
Volker Ruppert
8f7e6ac2ad
- implemented INT15h, fn 0xC2 (mouse), subfn 3, set resolution (SF patch #1734159 )
...
- support for large PCI memory regions (>=64Mb) added (patch by Paul Brook)
2007-06-17 07:38:58 +00:00
Volker Ruppert
fd0ca2b479
- support for large PCI memory regions (>=64Mb) added (patch by Paul Brook)
2007-06-17 07:37:11 +00:00
Volker Ruppert
216fdf36c6
- implemented INT15h, fn 0xC2 (mouse), subfn 3, set resolution (SF patch #1734159 )
2007-06-17 07:36:34 +00:00
Volker Ruppert
570ce953a6
*** empty log message ***
2007-05-28 08:09:13 +00:00
Volker Ruppert
45bd4ab269
- bios_printf() fix for %s format (from VirtualBox)
...
- removed lots of trailing spaces
2007-05-28 08:01:56 +00:00
Volker Ruppert
3dad77a4b5
- bios_printf() fix for %s format (from VirtualBox)
...
- removed lots of trailing spaces
2007-05-28 07:54:03 +00:00
Volker Ruppert
9478cd9164
- INT 13h: sector number 0 is invalid
2007-04-02 20:35:52 +00:00
Volker Ruppert
252946be66
- initial ACPI SMBus support added (ported from Qemu, TODO: register devices,
...
bus transactions)
2007-02-20 09:39:06 +00:00
Volker Ruppert
691465ffa6
- reset the memory after 32 bit protected mode init (patch from the Qemu project
...
by Fabrice Bellard)
2007-02-10 17:05:38 +00:00
Volker Ruppert
0837438f7f
- the int13_harddisk() function modifies the high word of EAX in EDD read/write
...
functions, but it shouldn't, so it must be saved on stack
2006-12-30 17:13:44 +00:00
Volker Ruppert
18a66befd0
- PCI BIOS function 'find class code' implemented for real and protected mode
2006-11-04 18:07:24 +00:00
Volker Ruppert
b9a70fb502
- added stub for real mode PCIBIOS function 'find class code'
...
- improved real mode PCIBIOS error reporting
2006-10-17 16:48:41 +00:00
Volker Ruppert
4df1ef8af5
- clear registers using the XOR instruction
2006-10-04 19:00:19 +00:00
Volker Ruppert
bc9a192668
- clear upper 16 bit of the stack pointer when returning to real mode (fixes
...
booting of Ubuntu 6.06)
2006-10-03 21:04:44 +00:00
Volker Ruppert
9d0f111995
- build an additional BIOS image without the new 32-bit extensions. It can be
...
used when the new BIOS fails
- use wbinvd instruction in the 32-bit init code
2006-10-03 20:30:09 +00:00
Volker Ruppert
7d80118503
- SMRAME bit must be always set for SMRAM access
2006-10-02 20:29:50 +00:00
Volker Ruppert
c9d8c75a23
- improved SMM init (Fabrice Bellard)
2006-10-02 06:30:36 +00:00
Volker Ruppert
6276cae023
- applied patch from the Qemu project (Fabrice Bellard)
...
* use 32 bit pushf/popf in 32 bit PCI bios
* moved some useful defines in rombios
- minor cleanups
2006-10-01 16:40:30 +00:00
Volker Ruppert
fdc1b75115
- fixed number of MP table entries (caused FreeBSD 5.3 boot failure)
...
- moved shared defines to new file rombios.h (could be used to show features
on the screen after detection by rombios32)
2006-09-30 11:23:49 +00:00
Volker Ruppert
5ba61b49c8
- always generate MP tables (WinXP guest needs this)
...
- new code is now enabled again
2006-09-29 17:37:31 +00:00
Volker Ruppert
518c64b64f
- disabled rombios32 call until the critical bugs are fixed
...
- more accurate delay loop using the port 0x61 refresh clock bit
- fixed capabilties reported in BIOS banner
2006-09-29 12:24:05 +00:00
Volker Ruppert
aacc148f7c
- initial revision of the 32-bit init code for the Bochs BIOS
...
* CPU, PCI, ACPI and SMM init
* MP and ACPI table generation
- MP table generation hack in the Bochs memory code disabled (should be removed)
- don't test the checksum of large BIOS images (for now)
- existing 16-bit PCIBIOS init disabled for now
2006-09-28 19:01:04 +00:00
Volker Ruppert
b2468a39fd
- biossums now supports padding binary files to 64k. This is useful for BIOS
...
extensions at 0xE0000 to be concatenated with the Bochs BIOS core.
- CR/LF to LF conversion, license and CVS id added
2006-09-28 17:39:25 +00:00
Volker Ruppert
99862ba2f5
- LGPL'd VGABIOS updated to version 0.6a (see VGABIOS-lgpl-README for details)
2006-08-19 16:58:38 +00:00
Volker Ruppert
ba049136a9
- INT 15 AH=88h now returns max. 63M extended memory (Ralf Brown's interrupt
...
list says the limit should be 15M, but real machines are reporting more)
2006-08-11 17:34:43 +00:00
Volker Ruppert
0ae9f5670e
- INT 09h: fixed handling of extended keys (asciicode = 0xe0)
...
- left backslash key added in keycode table
2006-08-07 20:26:58 +00:00
Volker Ruppert
7a5ccec5f7
- fixed keyboard LED flag handling and added setting of LEDs (makes keyboard
...
indicators work in Win 3.x, Win 9x and at the boot prompt)
2006-07-30 09:38:02 +00:00
Volker Ruppert
d9be51128b
- fixed ATA device detection in case of one drive only connected to controller
...
- applied patch from the qemu project (Fabrice Bellard)
* improved INT 15h function AX=E820h
* real mode PCI BIOS now returns IRQ routing information (function 0Eh)
2006-07-07 16:11:06 +00:00
Volker Ruppert
aeaff883b7
- enable interrupts before executing INT 19h and revert previous change
2006-07-06 07:28:08 +00:00
Volker Ruppert
4a5d4ad80a
- enable interrupts before executing boot sector code (untested)
2006-07-05 09:20:31 +00:00
Stanislav Shwartsman
8a925c1522
Removed file until permission from ASUS (again)
2006-05-14 17:42:06 +00:00
Volker Ruppert
96463c44d4
- APM cpu idle function fixed (from qemu)
2006-05-07 10:40:53 +00:00
Stanislav Shwartsman
dc8652b958
Added real i440FX BIOS image working well with Bochs
2006-04-29 09:34:26 +00:00
Volker Ruppert
458e128240
- PCI BIOS: improved error message for function 'find PCI device'
2006-01-25 17:53:37 +00:00
Volker Ruppert
0f363841dd
- removed obsolete SMP BIOS images
2006-01-14 08:30:18 +00:00
Volker Ruppert
480fbb29d1
- removed static MP tables from rombios.c and MP bios images from Makefile
2006-01-13 17:36:27 +00:00
Volker Ruppert
990fdd3ec9
- LGPL'd VGABIOS updated to version 0.5d (minor bugfixes)
2005-12-29 09:37:12 +00:00
Volker Ruppert
b2e19d7e09
- APM function 0x05 (cpu idle) implemented (tested with Win98)
...
- unused commented stuff removed
2005-12-26 10:36:52 +00:00
Volker Ruppert
ae37bb9815
- fixed disk size reporting > 64 GB (SF patch #1389776 )
2005-12-25 09:11:59 +00:00
Volker Ruppert
c92fd65c65
- enabled support for harddisks with up to 127 GB in Bochs and bximage
...
- BIOS harddisk detection message is now okay if size is < 64 GB
2005-11-06 16:50:30 +00:00
Volker Ruppert
7b8ed58815
- end-of-track (EOT) condition implemented
...
- set valid EOT value in BIOS floppy read/write functions
- added hack to make older Bochs BIOS version work with EOT feature
2005-10-27 07:38:20 +00:00
Volker Ruppert
d232d245f4
- APM function 0x10 (get capabilities) implemented
...
- stubs for APM functions 0x08 and 0x0f added
- rebuild bios images if apmbios.S is modified
2005-10-24 11:14:37 +00:00
Volker Ruppert
50a0de2746
- disable i/o and memory space access while initializing PCI base address registers
2005-09-24 08:10:10 +00:00
Volker Ruppert
8d883ec645
- fixed PCI i/o base address initialization
2005-09-19 21:09:42 +00:00
Volker Ruppert
fb5b86b11c
- PCI i/o and memory base address initialization added
2005-09-18 21:45:05 +00:00
Volker Ruppert
62f28d8f79
- pause key detection implemented
...
- preparing PCI i/o and memory init function
2005-09-17 17:43:45 +00:00
Volker Ruppert
9121053af9
- keyboard interrupt handler fixes (patch by japheth)
...
* pass all keycodes received by INT 09h to keyboard intercept
* don't wait for second keycode if an extended keycode is detected (set flag only)
2005-09-16 16:05:14 +00:00
Volker Ruppert
8851f2523a
- fixed enhanced keycode flag for key releases
...
- modified bios startup messages
2005-09-15 18:07:32 +00:00
Volker Ruppert
f9e7aa39af
- fixed flag for enhanced keycode 0xE0 (final part)
2005-09-09 18:56:42 +00:00
Volker Ruppert
08fe825e41
- fixed flag for enhanced keycode 0xE0
2005-09-09 16:34:21 +00:00
Volker Ruppert
b4269dca92
- new function floppy_prepare_controller() simplifies some floppy functions and
...
makes panic no longer necessary
- bios banner now shows active features
- indent mode fixed in modified sections
2005-09-04 09:38:28 +00:00
Volker Ruppert
9a282850c7
- fixed URLs for mtools on win32 and rombios documentation
2005-09-02 15:38:46 +00:00
Volker Ruppert
2e8dccf684
- fixed floppy return status if media not present (MS-DOS expects value 0x80)
...
- more accurate handling of the floppy recalibrate function (removed panic)
- small code cleanups and optimizations in the floppy code (e.g. do .. while loops,
always using 0040:003e for the floppy interrupt flag)
- small updates ported from the PC BIOS project
2005-08-26 17:47:16 +00:00
Volker Ruppert
86c3c68dc4
- fixes for OS/2 in the floppy and rombios code (patch from Robin Kay)
...
* support for XDF images added
* floppy controller should hang if media not present
* rombios has to reset the floppy controller after read/write failure
2005-08-24 20:45:57 +00:00
Volker Ruppert
b6f484f606
- fixed INT 09h keyboard flags handling
2005-08-14 17:19:44 +00:00
Volker Ruppert
c688161ddf
- INT 70h has destroyed the upper word of EAX; save/restore all 32-bit registers now
2005-08-13 08:53:59 +00:00
Volker Ruppert
e5b7fa1b4b
- fixed segment and offset in int70h and modify the high bit only
2005-08-12 19:50:45 +00:00
Volker Ruppert
67a977fbf3
- LGPL'd VGABIOS updated to version 0.5c
2005-07-07 18:05:10 +00:00
Volker Ruppert
218e6b8450
- missing scancodes for F11 and F12 added to translation table
...
- unknown scancode info message improved
2005-06-14 18:23:03 +00:00
Volker Ruppert
975d040ed5
- LGPL'd VGABIOS updated to version 0.5b (minor bugfixes)
2005-05-24 19:18:21 +00:00
Volker Ruppert
57a8322ac4
- applied patches by Alex Beregszaszi
...
* serial debug output to COM1 for the rombios (disabled by default)
* added missing trailing newlines in info/panic messages
- log_bios_start() must initialize serial port for the serial debug feature
- comments for the parallel and serial detection code added
2005-05-07 15:56:27 +00:00
Stanislav Shwartsman
5243bd8bf2
Update MP tables comments in rombios
2005-05-04 16:05:05 +00:00
Volker Ruppert
37f92c320a
- applied patches by Alex Beregszaszi
...
* cross-compilation support for the bios
* "user-settable" bios build date string
* hexadecimal nuber cosmetics, #0x instead #$
- use real build date for the bios build date string
- simplified printer status handling
2005-04-30 11:11:16 +00:00
Volker Ruppert
c5b7f5e3ef
- applied patches by Alex Beregszaszi
...
* function INT 15h AH=88h implemented
* added stub for function INT 16h AX=6f02h
* writes to debug/info/error/panic ports can be disabled now
2005-04-28 17:54:32 +00:00
Stanislav Shwartsman
e4768c94d3
added sanity checks from patch
...
[Bochs-developers] [PATCH] some sanity checks in bios
by Alex Beregszaszi [alex@fsn.hu ]
2005-04-27 18:29:27 +00:00
Stanislav Shwartsman
19750b0324
Fixed highest_priority_int calculation function
...
Fixed I/O APIC ID for 8CPU configuration to match BIOS tables
Remove I/O APIC initialization when INIT IPI received
2005-04-27 18:09:27 +00:00
Volker Ruppert
b1dc8c910d
- 4-cpu SMP table fixed (patch by jermar@itbs.cz)
2005-04-26 20:23:07 +00:00
Volker Ruppert
69d610c254
- APM support for 16 bit protected mode added (patch from Struan Bartlett)
2005-04-06 18:05:47 +00:00
Volker Ruppert
002853978c
- LGPL'd VGABIOS updated to version 0.5a (including Cirrus support)
2005-03-07 21:53:39 +00:00
Volker Ruppert
561e617362
- using fixed values for the diskette parameter table instead of int vector 0x1E
...
fixes floppy problems in Win9x guests
2005-02-13 08:48:23 +00:00
Volker Ruppert
8affb6d10b
- fixed macros for debug output
...
- string memory now starts at 0xcc00 to have enough space for all debug messages
2005-02-05 23:10:52 +00:00
Volker Ruppert
5ec5e89575
- pcibios fixes by lukewarm (SF patch #1114826 )
...
* pcibios: preserve esi and edi
* pcibios: ignore high-word of edx when calling FIND_PCI_DEVICE
* pcibios_real: set readable descriptor to ds when error (for 16bit PM)
* bios_printf: replace immediate value 0xf000 with get_CS (for 16bit PM)
- Win98 cdrom boot fixed (patch by Magnus Damm)
2005-02-02 19:14:24 +00:00
Volker Ruppert
3f909bd46d
- fixed real mode PCI BIOS error reporting
2005-01-31 18:36:54 +00:00
Volker Ruppert
0785fe48b2
- don't panic when an unsupported mouse packet size is requested
2005-01-27 18:05:09 +00:00
Volker Ruppert
5499cb0c34
- PS/2 mouse scaling functions implemented
...
- int15_function_mouse(): removed unused variables
2005-01-02 09:46:34 +00:00
Volker Ruppert
e0c5b9d7af
- Win9x CD boot fixed (SF patch #1087537 by lukewarm)
2004-12-20 17:02:20 +00:00
Volker Ruppert
5a36efedfa
- mouse type 'none' added (no mouse connected)
...
- added emulation of the PS/2 mouse port without a mouse connected (some OS's
still detect a mouse)
- fixes for the mouse type 'serial_wheel' (the wheel still doesn't work in Win98)
2004-12-07 21:13:20 +00:00
Volker Ruppert
faafc6a93a
- mouse type 'none' added (no mouse connected)
...
- added emulation of the PS/2 mouse port without a mouse connected (some OS's
still detect a mouse)
- fixes for the mouse type 'serial_wheel' (the wheel still doesn't work in Win98)
2004-12-07 21:06:35 +00:00
Volker Ruppert
ebf9cb86ca
- PS/2 mouse functions "set sample rate" and "get device id" implemented
...
- presence of the EBDA segment doesn't depend on the PS/2 mouse option
2004-12-05 16:41:46 +00:00
Volker Ruppert
a15de4430b
- boot sequence with up to 3 boot devices inplemented. The sequence is stored
...
in the CMOS regs 0x3d and 0x38. TODO: change config option "boot" to use this
feature.
2004-10-15 15:37:01 +00:00
Volker Ruppert
5d7cc42431
- extented floppy parameter table (floppy fix for NT4 from qemu written by Mike
...
Nordell and Derek Fawcus)
- int 13h diskette function 08h should return the pointer to the floppy parameter
table stored in int 1Eh
2004-10-04 19:31:02 +00:00
Volker Ruppert
a6d14987cd
- PCI IRQs must always be level sensitive (setup ELCR1/ELCR2 in pcibios init)
2004-10-02 12:29:54 +00:00
Volker Ruppert
0fd0fc7384
- pci irq initialisation added (TODO: initialize pci memory + i/o space)
2004-09-25 17:23:06 +00:00
Volker Ruppert
b3d0c18838
- int 15 / ah=87h should not clear cr0 when setting bit 0 (SF patch #969967
...
by Ben Lunt)
2004-09-13 17:54:53 +00:00
Volker Ruppert
9956e47f3e
- modified the bios / vgabios panic handling. BX_PANIC messages sent by the bios
...
now appear correctly as the Bochs panic message. Now we can get rid of messages
with the line number in the source file.
- updated / fixed description in biosdev.cc
2004-09-05 17:57:22 +00:00
Volker Ruppert
e5761d230c
- calculate checksum of expansion rom (must be 0)
2004-09-03 19:52:24 +00:00
Volker Ruppert
c5ba313fd1
- changed the size of the vgabios files to exactly 32k with a checksum at the
...
last byte. This change is required for a correct checksum in the rom scan loop.
2004-09-02 17:14:34 +00:00
Volker Ruppert
b4fbbe3af1
- implement int15, ah=83 Start/Stop Wait Timer (patch.rombios.markevich from Kory Markevich)
...
- applied patch from sava (t.ebisawa / http://ebisa.hp.infoseek.co.jp/bochs/arcs/bochs-2.1.1-jpfix-20040214.zip )
* int09_handler: pusha before int15, ah=4f
(for "jis_a01" japanese keybord driver, which breaks some registers)
* int15_function: add new functions int15_function32, int15_function_mouse
(to avoid stack overflow ... DOS/Win9x works better)
* int16, ah=00/01/10/11 ignore special key code (F0)
- set missing return value and flag for unimplemented EISA BIOS
2004-08-21 13:33:28 +00:00
Volker Ruppert
40e576cbb3
- A20 gate control implemented (int 15h, ah = 24h)
...
- debug message for unsupported EISA bus features added (int 15h, ah = d8h)
- moving rom scan loop to a separate function saves space in the main post code
(TODO: add code for rom checksum)
- interrupt vector 0x79 set to 0 (TODO: some other vectors seem to be 0, too)
2004-08-20 10:02:04 +00:00
Volker Ruppert
ca95fc885c
- gate A20 control implemented (int 15h, ah = 24h)
...
- debug message for unsupported EISA bus features added (int 15h, ah = d8h)
- moving rom scan loop to a separate function saves space in the main post code
(TODO: add code for rom checksum)
- interrupt vector 0x79 set to 0 (TODO: some other vectors seem to be 0, too)
2004-08-20 09:59:49 +00:00
Volker Ruppert
c6834907ad
- pci irq routing fixed and initialization added (BUG: ne2k-pci only works with
...
irq 11 in Win95)
- bios: irq routing table fixed and updated for 5 slots
- ne2k: unnecessary reset call in init() removed
- usb: don't execute reset if disabled
2004-07-04 17:10:05 +00:00
Volker Ruppert
1f33aa72b8
- APM and system shutdown support for 16-bit real mode and 32-bit protected mode
...
(patch from Fabrice Bellard)
2004-06-20 18:28:40 +00:00
Volker Ruppert
c757b06db8
- int13_cdrom / 32 bit register update fix (aka FreeBSD cdrom boot) (patch from
...
Fabrice Bellard found in LGPL'd VGABIOS patches section)
2004-05-31 13:13:58 +00:00
Christophe Bothamy
b663c5112f
- remove old commented code
2004-04-28 16:59:52 +00:00
Volker Ruppert
b66c8403f7
- turn floppy motor off 2 seconds after last read/write/recalibrate command
...
(patch from Ben Lunt)
2004-02-09 16:49:41 +00:00
Volker Ruppert
a0457f980e
- int17_function updated for multiple parallel ports
...
- detection of serial port 3 + 4 added
2004-01-28 19:14:56 +00:00
Volker Ruppert
795cb05b42
- fixed int13_harddisk function 10h
2004-01-25 22:15:56 +00:00
Daniel Gimpelevich
eae5c1eaba
Rebuilt BIOS from latest rombios.c
2004-01-15 03:32:14 +00:00
Daniel Gimpelevich
6c26e6a65f
Introduced Frank Cornelis's PCIDEV patch.
2004-01-15 02:08:37 +00:00
Christophe Bothamy
1c9de422d2
- apply patch #874517 Bugfix in int15h function 0xe820 by flashburn
2004-01-14 23:09:31 +00:00
Volker Ruppert
623ba8b00d
- INT 16h function 05h implemented (grabbed from patch #707931 )
2003-12-18 16:49:22 +00:00
Christophe Bothamy
22f3930b81
- apply patch from Frank Cornelis to have bcc able to compile gcc-3.2-preprocessed rombios.c
2003-12-08 20:35:20 +00:00
Christophe Bothamy
9d38eca4c5
- recompile rombios.c rev1.102
2003-11-27 00:35:24 +00:00
Christophe Bothamy
89821fcd81
- remove hlt from BX_PANIC function, because the user can choose to
...
continue after a panic.
- add the hlt instruction in int18 handler. This should stop the
simulation if the boot disk can not be read
2003-11-25 22:56:11 +00:00
Christophe Bothamy
e9efb9aed0
- stop execution with an 'hlt' if the bios can not read the boot disk
2003-11-25 22:46:20 +00:00
Christophe Bothamy
93ff40743f
- recompiled with rombios.c rev1.100
2003-11-15 00:03:57 +00:00
Christophe Bothamy
0276bfdef7
- add fix to get v2os to boot : preserve eax top 16bits on int1A function B101 call
2003-11-15 00:00:37 +00:00
Volker Ruppert
4c8015f84b
- biossums added to make target 'clean'
2003-11-11 18:18:11 +00:00
Christophe Bothamy
42cd5f2699
- update with vgabios v0.4c
2003-11-06 00:17:35 +00:00
Christophe Bothamy
a7ea447861
- update with vgabios v0.4b
2003-11-04 23:08:48 +00:00
Volker Ruppert
568cd93523
- detect_serial: detection simplified using IER and IIR
...
- detect_parport: save base address and timeout using push/pop
2003-11-02 12:40:51 +00:00
Daniel Gimpelevich
5586f6054b
*** empty log message ***
2003-10-24 11:16:25 +00:00
Christophe Bothamy
3dd4b321b7
- make now runs biossums on generated bios files
2003-10-17 12:01:28 +00:00
Christophe Bothamy
0798cad04d
- add biossums utility, to set various checksums in bios files, written by Eike W.
2003-10-17 11:59:57 +00:00
Volker Ruppert
5be03ffb09
- int 0x16 function 0x0A implemented (GET KEYBOARD ID)
...
- int 0x16 functions 0x10/0x11 fixed (don't change the ascii code to 0xE0)
2003-10-16 19:31:33 +00:00
Daniel Gimpelevich
227933bc11
Fix ATA/Serial ioport conflict
2003-10-07 01:44:34 +00:00
Daniel Gimpelevich
296dbe928a
Fix ATA/Serial ioport conflict
2003-10-07 00:21:10 +00:00
Daniel Gimpelevich
c249cc8709
Update to coincide with Volker's adjustment to VGA-BIOS upstream.
2003-10-05 23:15:45 +00:00
Christophe Bothamy
109805f5b8
- remove the comment about 8x8 font.
...
Volker confirmed that the whole 8x8 font should be present in the vgabios.
2003-08-17 21:48:15 +00:00
Christophe Bothamy
485ee8838b
- update LGPL'd vgabios with release 0.4a
2003-08-17 15:41:12 +00:00
Christophe Bothamy
1e568ccba3
- regen from rombios.c rev1.95
2003-08-16 20:13:18 +00:00
Christophe Bothamy
f75ef317e5
- add 128 first 8x8 chars at 0xfa6e (fixes bug #787138 No ROM BIOS character map)
2003-08-16 20:11:28 +00:00
Christophe Bothamy
6712256448
- recompile rombios.c rev1.94
2003-08-07 00:04:05 +00:00
Christophe Bothamy
8fba74e1d1
- fix sf bug #764473 Freesco Linux crashes on boot
...
Syslinux 1.48 that is used to boot freesco, did not like the latest
int15 function e801 returning AX=0 and BX=0, although my real
system does, and Ralph Brown list allow it.
Interestingly enough, the symptoms were floppy accesses with a track
number > 100. Funny.
Now int15 function e801 returns both extended and configured memory.
2003-08-07 00:02:24 +00:00
Christophe Bothamy
ae0b7c45a3
- Fix Elpin VGAbios size. It can't really be 32769 bytes.
...
I stripped the last byte, it seems to work ok.
2003-08-05 13:03:22 +00:00
Christophe Bothamy
b5562fc8ee
- compile rombios rev1.93
2003-04-25 22:15:30 +00:00
Christophe Bothamy
d112043348
- fix int15 function e801 (get memory size)
2003-04-25 22:13:24 +00:00
Christophe Bothamy
20091e7f3c
- compile rombios.c rev 1.92
2003-03-08 23:01:07 +00:00
Christophe Bothamy
479fbe2a25
- apply patch "[ 682539 ] Fix CapsLock and NumLock behavior" from rock at gimp.org
2003-03-08 22:59:17 +00:00
Christophe Bothamy
dd2618a315
- compile rombios.c rev1.91
2003-02-06 23:19:23 +00:00
Christophe Bothamy
579f3c0539
- apply Ben Lunt's 160k, 180k, 320k floppy patch
2003-02-06 23:16:56 +00:00
Christophe Bothamy
44502c00dc
- compile rombios.c rev1.90
2003-01-18 19:23:14 +00:00
Christophe Bothamy
5e509b80c9
- add int15 function 86 support
2003-01-18 19:20:52 +00:00
Christophe Bothamy
2bf8c6ab80
- update with latest current-cvs version. It fixes, at least the WinNT4 install bug
2003-01-15 17:44:57 +00:00
Christophe Bothamy
cfdcae68ca
- compile rombios.c rev 1.89
2003-01-14 18:06:59 +00:00
Christophe Bothamy
152900c758
- move the extended key check in int09, now int15/4f is empty.
...
I did not see any bug, but maybe some code hooking int15/4f could be
disoriented when receiving extented E0 scancode.
2003-01-14 18:03:31 +00:00
Christophe Bothamy
e42eee68e5
- add support for ElTorito Harddisk emulation. Darwin iso boots now.
...
The Harddisk emulation still needs some polish though.
2003-01-14 17:59:52 +00:00
Christophe Bothamy
d007a8e93b
- compile rombios.c rev 1.87
2003-01-13 12:55:59 +00:00
Christophe Bothamy
04809a2258
- fix NetBSD not booting from cdrom. AH was not set to 0 after a
...
successful read through int13/AH=2 when emulation floppy from cdrom.
2003-01-13 12:51:17 +00:00
Christophe Bothamy
56eb9dfe7a
- compile from rombios rev1.86
2003-01-06 02:03:57 +00:00
Christophe Bothamy
fd02f4ac05
- create two new asm functions to send eoi to the master pic and to both pics
...
- add int75_handler, for msdos compatbility fpu exception
This handler calls int 2 (nmi). The NMI handler should really be aware
of this and should iret in case of FPU exception (to be implemented)
2003-01-06 02:02:46 +00:00
Christophe Bothamy
2398f0f215
- fix [ 651158 ] rombios does not build with make -j2
...
don't let each rombios compile overwrite temporary file of another
2002-12-25 12:25:55 +00:00
Christophe Bothamy
c837f9961e
- compile reombios.c revision 1.85
2002-12-13 16:32:31 +00:00
Christophe Bothamy
b64fb6aba6
- refix [ 642031 ] FATAL: Keyboard RESET error:993
...
With Bryce we identified that this code will successfully
flush the keyboard input buffer as long as ips <= 15000000.
2002-12-13 16:26:17 +00:00
Bryce Denney
51c0eca68a
- now "make dist-clean" no longer removes the compiled BIOSes. This
...
is important because many people don't have the tools to rebuild them.
They will only be removed if you type "make bios-clean", which people
are unlikely to do by accident.
2002-12-12 23:55:34 +00:00
Bryce Denney
1d65a45575
- recompile bioses for rombios.c 1.84
2002-12-09 13:24:48 +00:00
Bryce Denney
3c450d5262
- apply 8CPU bios patch from Zwane Mwaikambo, who writes:
...
> This simplifies things for operating systems which don't do
> paranoia/sanity checks. This BIOS image has been tested on Linux-2.4.19
2002-12-09 13:23:05 +00:00
Christophe Bothamy
f97ba30ac1
- compile from rombios.c r1.83
2002-11-26 11:09:43 +00:00
Christophe Bothamy
8d41bca5f5
- fix [ 642031 ] FATAL: Keyboard RESET error:993 again: rewrote keyboard
...
buffer cleanup
- add BX_DEBUG_INT1A macro
- change two "mov ax, #0000 " to "xor ax, ax", so int70_handler does not overlap int08_handler
2002-11-26 11:04:41 +00:00
Christophe Bothamy
27247753ce
- compile from rombios.c r1.82
2002-11-25 21:32:50 +00:00
Christophe Bothamy
b37dc11e70
- fix [ 629810 ] int 16/ah=01 broken?
...
added sti at start of int16_handler
- add some notes about int09 / int15/4f
2002-11-25 21:30:51 +00:00
Bryce Denney
44a003c3ad
- use perl script "makesym.perl" to produce a symbol table that the
...
Bochs debugger can read
2002-11-24 22:45:40 +00:00
Christophe Bothamy
2dad04034c
- rename rombios.txt for 2, 4, 8 processors
2002-11-23 21:02:03 +00:00
Christophe Bothamy
9fa58247c1
- update with latest released LGPL VGABios (v0.3b)
2002-11-23 10:05:07 +00:00
Christophe Bothamy
1a10b8f87b
- compile BIOSes from rombios.c r1.81
2002-11-22 14:41:06 +00:00
Christophe Bothamy
f0c3eb675a
- fix [ 642031 ] FATAL: Keyboard RESET error:993
...
Clear the incoming keys before reseting the keyboard.
2002-11-22 14:40:09 +00:00
Bryce Denney
7fde35e253
- fix a bug reported on ML by Scott Duplichan. Unimplemented int15 calls
...
should return AH=0x86 and CF set. The new AH=E8 calls did not return
0x86 in some cases where the call was not implemented.
2002-11-21 19:09:36 +00:00
Bryce Denney
6e6d9701a1
*** empty log message ***
2002-11-21 06:41:39 +00:00
Bryce Denney
4a7303c896
- update all bioses to current rombios.c
...
- since rombios.c also supports 8 processors, go ahead and build an 8 cpu
bios as well.
Modified Files:
BIOS-bochs-2-processors BIOS-bochs-4-processors
BIOS-bochs-latest
Added Files:
BIOS-bochs-8-processors
2002-11-14 20:05:57 +00:00
Bryce Denney
58bcf51ad8
- no longer create biosconfig.h with one line extracted from config.h.
...
Instead, just build all 4 bioses for 1,2,4,8 processors all the time.
Now they should all stay in sync without any special effort.
Modified Files:
rombios.c Makefile.in
2002-11-14 20:04:38 +00:00
Christophe Bothamy
48200d4936
- compile rombios.c r1.78
2002-11-07 21:58:19 +00:00
Christophe Bothamy
5d7b0701df
- clean up in and out keyboard buffer before self test
2002-11-07 21:57:27 +00:00
Christophe Bothamy
b8fc42d6a7
- compile rombios.s r1.77
2002-11-04 23:57:53 +00:00
Christophe Bothamy
70b7d13763
- remove patch.keyboard-biosinit-asulmicki
...
- add new keyboard init code from Adam Sulmicki
- changed last cli() to #asm cli #endasm
- remove unused cli() function
- don't panic on shutdown status 0x09. just do the normal post
2002-11-04 23:56:56 +00:00
Christophe Bothamy
55fa06db79
- fix type of the counter used when waiting for signals in ata_reset. It may be > 0xff
2002-10-30 22:42:42 +00:00