Commit Graph

13386 Commits

Author SHA1 Message Date
Stanislav Shwartsman
167942816a regen Makefile.in dependencies 2024-01-12 01:10:47 +02:00
Stanislav Shwartsman
0eab037907 dynamically allocate VMCB_CACHE only if SVM is actually enabled by CPU model
also reduces include dependency on svm.h
2024-01-12 00:56:09 +02:00
Stanislav Shwartsman
d6769cecfc AMX was added to 'release' conf but not to 'everything' 2024-01-12 00:30:53 +02:00
Stanislav Shwartsman
6b48d6e33f resolution for SF bug #1460 Incorrect "Blocking by NMI" bit when handling NMI VM-exit
as well as
resolution for Test stuck due to incorrect Virtual NMI handling #211
which appear the same problem
2024-01-12 00:19:44 +02:00
Shwartsman
9e36971e0f fixed TILELOADD/TILESTORED and TDPBF16PS 2024-01-11 21:04:14 +02:00
Shwartsman
8dca1e0e07 correct implementation of AMX TDPBxxD instructions 2024-01-11 20:20:33 +02:00
Volker Ruppert
b8054277cb Fixed compilation with PCI disabled.
When switching to Voodoo 1/2 update timer only if update_mode_vsync is enabled.
Still TODO: update docs.
2024-01-11 18:30:39 +01:00
Volker Ruppert
fc6703a2f7 VGA update timer using vertical frequency now supported by Voodoo devices.
TODO: update docs.
2024-01-11 17:48:11 +01:00
Shwartsman
89d992b5b8 fixed (#214) wrong MSR name typo in MSR error message
in real mode exceptions should not push error code to stack so the same should be for VMEXIT due to HW exception from unrestricted real mode guest (fixes #211)
2024-01-11 08:10:42 +02:00
Shwartsman
77bbdca17a change from USB Debugger branch by Ben, rename variable 2024-01-10 21:25:03 +02:00
Stanislav Shwartsman
cc87b23738 regen configure after AMX added 2024-01-10 20:23:55 +02:00
Stanislav Shwartsman
3a02e85599
AMX support (#212) 2024-01-10 20:13:25 +02:00
Volker Ruppert
cfa7276cb9 Added support for driving the VGA display update timer with VSYNC.
- Using the special value of 0 enables this feature. In that case the vertical
  frequency is used for the display updates. The update() method is called at
  the "vertical retrace end" time and sets the time of the display start. This
  value is used to set the vertical retrace indicator in VGA register 0x03da.
- This feature is not yet enabled if Voodoo support is present. The Voodoo device
  has it's own vertical timer and needs some more testing and possibly some changes.
2024-01-09 21:48:19 +01:00
Shwartsman
c04fb9a6ba Fixed decoding of AVX-VNNI instruction (typo in decoder tables)
mention AVX-VNNI in CHANGES
2024-01-09 09:14:39 +02:00
Shwartsman
e5ef6d6a47 According to documentation (8254.pdf), mode 6 is the same as mode 2 and mode 7 is the same as mode 3. 2024-01-08 20:27:59 +02:00
Volker Ruppert
f06346afcb Voodoo Banshee: added missing type cast in mem_write(). 2024-01-07 22:05:41 +01:00
Volker Ruppert
9dbca8951e Fixed Banshee read from ROM and mem_write() for any size and endianness. 2024-01-07 19:33:58 +01:00
Volker Ruppert
0d3a63b08d Updated LGPL'd VGABIOS to release 0.8c. 2024-01-07 17:27:30 +01:00
Volker Ruppert
a566b1e69d PCI MMIO space is not disabled if the Cirrus card is in VGA mode. 2024-01-07 13:55:43 +01:00
Volker Ruppert
c13ef56378 Increase maximum VGA update frequency to 75 and default to 10.
Small cleanups in the VGA code.
2024-01-07 11:15:04 +01:00
Shwartsman
54961f0326 fix buffer overflow with LA57 2024-01-07 07:37:18 +02:00
Volker Ruppert
080cf72f5f Fixed CGA address wrap. 2024-01-06 16:31:04 +01:00
Volker Ruppert
c9c0237af3 Fixed start address in emulated CGA mode. 2024-01-06 15:05:33 +01:00
Volker Ruppert
6d433ec44b Missing horizontal pel panning support added in modeX.
Added error messages for unsupported features (EGA only ?).
TODO: horizontal pel panning support missing or incorrectly implemented in other
graphics.
2024-01-06 11:29:39 +01:00
Shwartsman
cda3ed5a60 update CHANGES 2024-01-05 20:33:47 +02:00
Shwartsman
b24bf1dae2 CPUID: Added Xeon Sapphire Rapids CPU definition
Features PKS, WAITPKG, UINTR, AVX512_BF16, MOVDIRI/MOVDIR64, LA57, SERIALIZE and more
Not yet supported but will be added in future: AVX512_FP16, AMX
2024-01-05 19:54:37 +02:00
Shwartsman
a67fb31d4f LA57: attempt to change (not just clear) LA57 in long mode cause #GP 2024-01-05 18:46:56 +02:00
Volker Ruppert
3a73e8a0b2 Fixed address wrap in non-chain4 256-color VGA mode called modeX.
There were blinking dotted lines visible in old DOS games (#205/#206).
2024-01-05 14:36:42 +01:00
Shwartsman
6893743a5b prevent trace linking aftre portin/portout instructions as well 2024-01-05 09:12:01 +02:00
Shwartsman
27d48ecb94 HandlersChaining Optimization: mark IN/OUT instructions as TraceEnd, they could have significant side effects like raising interrupts which have to be handled
resolves issue #207
2024-01-05 08:45:10 +02:00
Volker Ruppert
1f8eb7b608 First step to fix the timer code for speaker sound output.
There is some output now, but not really music yet.
2024-01-04 19:26:27 +01:00
Shwartsman
41c2bb8bee fix for LA57 cr4 checks, thanks Ben for pointing this out 2024-01-04 08:35:33 +02:00
Volker Ruppert
071f5c72f7 Reduce VGA vertical screen size if blanking starts before display end. 2024-01-03 23:48:24 +01:00
Volker Ruppert
210ea89b36 Voodoo Banshee / Voodoo3 hardware cursor fixes (#202 / #203).
- Fixed crash in "half mode" (line doubling).
- Fixed redraw_area() values (must be unsigned).
2024-01-02 21:30:28 +01:00
Shwartsman
05b187f851 update CHANGES with SB16, keyboard, VGA and Voodoo fixes done by Volker 2024-01-02 21:49:48 +02:00
Volker Ruppert
f48acd833f Some speaker output fixes.
- Increase buffer size and allocate buffer dynamicly.
- Make sure the beep_level is correctly set up in dsp_generator().
- TODO: fix timer code for usable sound output with the speaker.
2024-01-01 19:43:33 +01:00
Volker Ruppert
7985fa1ebb X11: changed set_font() message to BX_DEBUG. 2024-01-01 11:20:05 +01:00
Volker Ruppert
10811e13ed SB16: added 16-bit write support for even i/o addresses. 2023-12-31 16:05:20 +01:00
Volker Ruppert
1699f30d64 Reduce default keyboard serial delay to 150 to avoid timeouts.
Some cleanups in the keyboard code.
2023-12-31 10:47:10 +01:00
Shwartsman
b93b9ad881 fixed comments in bf16.h 2023-12-29 22:45:59 +02:00
Stanislav Shwartsman
07d28c60b8 generic cpuid fix dump_cpuid 2023-12-29 21:53:15 +02:00
Stanislav Shwartsman
75a7151fbf let generic CPUID to use MTF VMX extension 2023-12-29 21:50:40 +02:00
Stanislav Shwartsman
ec7ef85ed9 exclude cpuid.h from cpu.h to reduce compilation dependency 2023-12-29 21:27:24 +02:00
Volker Ruppert
63ab5ea24a Align SB16 DMA buffer size to 4 to avoid crash in 16-bit stereo mode. 2023-12-29 19:49:58 +01:00
Volker Ruppert
be1baa295c Implemented secondary VGA charmap support.
All guis with 'new_text_api' and the graphical text snapshot working with it.
2023-12-29 17:47:44 +01:00
Shwartsman
133f1136d3 fix compilation with no x86-64 compiled in 2023-12-29 17:56:47 +02:00
Volker Ruppert
a1872535ca Voodoo: fixed randomly missing color palette updates. 2023-12-29 15:18:06 +01:00
Stanislav Shwartsman
e3612c30f8 Implement support for LA57 and 5-level paging 2023-12-29 14:48:38 +02:00
Volker Ruppert
157d3a9189 Next attempt to fix the Voodoo hang on exit.
It occurred with the pthreads library only and should be fixed now.
2023-12-29 10:25:38 +01:00
Volker Ruppert
29fbdb48da Set default value for SB16 dmatimer to 1000000 and updated docs. 2023-12-28 20:32:14 +01:00