Commit Graph

12727 Commits

Author SHA1 Message Date
Benjamin David Lunt
3525a89b7a
Update usb_xhci.cc (#262) : The EDTLA should be updated for OUT going packets too.
The EDTLA should be updated for OUT going packets too.
2024-02-05 07:08:31 +02:00
Benjamin David Lunt
17a7a30c10
Update usb_xhci.cc (#260) : Don't check the size of a non-existent segment in an event ring table.
Don't check the size of a non-existent segment in an event ring table.
2024-02-05 07:08:05 +02:00
Benjamin David Lunt
f1e4e6757e
Update usb_xhci.cc (#255)
Update conditional compilation due to conflicting statements in
different versions of the specs on the `ep_context->ep_state` value
initialization during a `SetAddress` command.
2024-02-04 08:12:04 +02:00
Volker Ruppert
6391cf0093 Fixes for VBE 4-bpp modes support.
Row address must be 32 bit wide and VGA compatible display end is limited to 1023.
TODO: Fix VGA compatible setup for VBE modes in VGABIOS.
2024-02-03 18:02:10 +01:00
Volker Ruppert
cd0feed380 VGA core: Added support for extended 4-bpp modes (tested with Cirrus). 2024-02-03 14:51:12 +01:00
Vort
5474eb6963
Cirrus: Add support for palette modes with pixel frequency > 85 MHz (#254)
It allows to use 1152x864x8 mode with [original
BIOS](https://github.com/bochs-emu/Bochs/files/14130753/cl-gd5446_pci_vga_bios_version_1.31.zip).
2024-02-03 14:12:40 +01:00
Stanislav Shwartsman
37341c8838 fixed massive code duplication 2024-02-02 22:36:56 +02:00
Volker Ruppert
6aec66d210 Cirrus: Fixed tile x/y calculation for double scan and double width. 2024-02-02 20:49:38 +01:00
Volker Ruppert
ca482ab98e Cirrus: Handle double scan and double width at banked memory writes.
TODO: Cursor still looks incorrect with modeset test program.
2024-02-02 19:00:15 +01:00
Stanislav Shwartsman
f3537f282a Legacy form of XRSTOR loads the MXCSR register from memory whenever the
RFBM[1](SSE) or RFBM[2](AVX) is set, regardless of the values of XSTATE_BV[1] and XSTATE_BV[2]
2024-02-02 08:43:36 +02:00
rofl0r
fb8fc563ab
bximage: flush stdout after asking a question (#251)
otherwise the question may not even arrive there, depending on the
implementation-defined behaviour of stdio buffering.
fixes display of questions with musl libc.
2024-02-01 22:54:31 +02:00
Shwartsman
88fb948088 updates to paging code for debugability and code duplication reduction 2024-02-01 15:15:26 +02:00
Shwartsman
3ed8639bfa some style notation to avoid errors and make code cleaner to read 2024-01-30 20:08:42 +02:00
Volker Ruppert
92eb0e12be Cirrus: Added double width support to fix up aspect ratio in double scan mode.
TODO: Hardware cursor code untested - test program doesn't use it.
2024-01-30 18:28:47 +01:00
Song Ziming
9b5c43821e
Init LDR whenever x2APIC mode is enabled (#250)
According to Intel SDM vol3 11.12.10.2 (Deriving Logical x2APIC ID from
the Local x2APIC ID), "The LDR initialization occurs whenever the x2APIC
mode is enabled".
2024-01-30 08:47:22 +02:00
Stanislav Shwartsman
e54048c163 XSAVEC/XSAVEC: don't allow 'compaction' of SSE state
this bug also prevented win10 from booting
2024-01-29 22:11:08 +02:00
Volker Ruppert
347a1bef56 Voodoo3: In double width mode also double hardware cursor width.
Improved mode reporting and fixed possible segfault caused by invalid pitch.
2024-01-29 19:33:29 +01:00
Stanislav Shwartsman
cf40e63b87 XRSTOR: correct 'format' for case compaction is not enabled 2024-01-29 19:40:21 +02:00
Stanislav Shwartsman
7aa8489b1a fixed severe XRSTOR emulation issue, prevented boot of Win10 2024-01-29 18:40:19 +02:00
Stanislav Shwartsman
6554f9b7b6 a little code optimization, no impact on correctness 2024-01-29 15:28:25 +02:00
Stanislav Shwartsman
0cfa33733e correct clear_busy for shadow stack in case of IRET - should use old SSP 2024-01-29 15:08:54 +02:00
Stanislav Shwartsman
b373890b05 fix supervisor shadow stack EPT violation detection 2024-01-28 22:03:57 +02:00
Stanislav Shwartsman
2f0338fe0c fixed bug in MOVDIR64B - source and destination were swapped 2024-01-28 21:38:57 +02:00
Stanislav Shwartsman
41202ebb68 bugfix for supervisor shadow stack and VMX 2024-01-28 20:57:43 +02:00
Volker Ruppert
d4d1fff83b NE2000: Don't check PCI slot config in parser, but then in init code.
TODO (for other devices):
The parser code should not expect that a specific config parameter is
already set. Only the device init code should bring all things together.
2024-01-28 17:50:14 +01:00
Volker Ruppert
14f6753ad8 Voodoo 1/2: Final attempt to implement byte writes correctly.
Simply shift byte to the right position and write 0's elsewhere.
2024-01-28 16:57:17 +01:00
Shwartsman
4de017762a fixed permission check for CET
added SSP save/restore is SMM code
fixed CET_S state in_use calculation
2024-01-28 17:25:21 +02:00
Volker Ruppert
4ee4b89102 Voodoo 1/2: Next attempt to implement byte writes.
New code: read 32-bit, mask out required byte, apply new byte, write 32-bit.
2024-01-28 14:43:58 +01:00
Volker Ruppert
caef53a4a1 Voodoo 1/2: Added support for dword aligned byte writes.
TODO: For unaligned writes the voodoo_w() function needs to be modified.
2024-01-28 11:05:16 +01:00
Volker Ruppert
2c4b9e9457 Don't set up tiles for update if screen parameters are invalid. 2024-01-28 10:31:06 +01:00
Benjamin David Lunt
19fc78d2db
Update usb_xhci.cc (#245)
reset closer to real hardware
2024-01-28 08:42:41 +02:00
finnbrudal
106e7fa03a
Fix XHCI Address Device command (#244)
Was sending the SET_ADDRESS request using the wrong (old) slot context.
2024-01-28 07:22:09 +02:00
Stanislav Shwartsman
58663d3c68 fix bug intoduced in c4689f284c 2024-01-27 23:05:38 +02:00
Volker Ruppert
3ec05e8f05 Voodoo 1/2: Added support for 8 and 16 byte writes (issue #241).
Also added 16-bit read support. Odd data size and address support not done yet.
2024-01-27 18:58:22 +01:00
Stanislav Shwartsman
c4689f284c fix spurious read of potentially non-existing SECONDARY_VMEXIT_CTRLS 2024-01-27 18:38:14 +02:00
Stanislav Shwartsman
b685996081 fixed compilation 2024-01-27 18:30:22 +02:00
Stanislav Shwartsman
ae61538847 create classes for Vmexec controls for robustness 2024-01-27 18:04:00 +02:00
Stanislav Shwartsman
035fb1edaa create class for Pin-Based VMEXEC controls for robustness
create class for Vmentry controls for robustness
create class for Vmexit controls for robustness
2024-01-27 15:14:29 +02:00
Stanislav Shwartsman
38b1bbf4ff Implemented VMX 'Shadow Stack Prematurely Busy' and secondary VMEXIT controls 2024-01-27 13:34:51 +02:00
Stanislav Shwartsman
e14b126198 fixed rounding to float16 (found during AVX512_FP16 development)
used Softfloat3 code as reference
2024-01-26 22:53:39 +02:00
Stanislav Shwartsman
093d4428ec read less bits for mask with DOUBLE precision elements 2024-01-26 20:36:29 +02:00
Shwartsman
0e1c5e35ff added error message for unimplemented access len in bx_voodoo_1_2_c::mem_read_handler 2024-01-26 09:45:00 +02:00
Volker Ruppert
30a61c2a51 Banshee/Voodoo3 fixes in mem_write_linear (issue #231).
- Applied memory mask to start address.
- Consider half mode and double width for redraw setup.
2024-01-25 19:57:28 +01:00
Shwartsman
437ddc96fc Addressing Black screen in Descent II: Destination Quartzon 3dfx OEM with Voodoo #238 2024-01-24 17:04:21 +02:00
Shwartsman
995e8fb6c6 let Bochs debugger switch CPU by simply typing 'cpu N' command insetad of doing 'set $cpu = N' 2024-01-23 23:13:20 +02:00
Shwartsman
164772103a use 'a' as 'all' in debugger 2024-01-23 19:25:56 +02:00
Shwartsman
b5bcbfced0 fix segfault @exit with debugger introduced by previous commit 2024-01-23 16:11:15 +02:00
Shwartsman
fb42896000 better support of SMP in debugger methods 2024-01-23 11:08:05 +02:00
Stanislav Shwartsman
ae0c9df317 compile stand alone disasm tool even if BX_DEBUGGER is configured in 2024-01-22 22:13:28 +02:00
Volker Ruppert
a663b9d1d0 Minor Banshee/Voodoo3 changes.
- Update pens when switching from / to 3D mode.
- Improved BX_ERROR message for unimplemented feature.
2024-01-22 20:23:40 +01:00