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