Commit Graph

12301 Commits

Author SHA1 Message Date
Benjamin David Lunt
6a0e7a5306
Allow a usb port number to be more than one digit
Also fixed an error with xhci and the save/restore Bochs environment
2023-03-12 16:40:02 -07:00
Benjamin David Lunt
8ef4dcc7d1
Allow a usb port number to be more than one digit 2023-03-12 16:36:22 -07:00
Benjamin David Lunt
280fbf1929
Added info about the USB disk/cdrom options 2023-03-12 14:58:12 -07:00
Benjamin David Lunt
3c6a97c676
add dependencies 2023-03-11 17:37:27 -07:00
Benjamin David Lunt
7e046f5a27
indentation corrections 2023-03-11 17:28:59 -07:00
Benjamin David Lunt
418ef4e1ca
USB emulation update
add usb_uasp to the build
2023-03-10 12:56:32 -07:00
Benjamin David Lunt
9075864647
USB emulation update
change to 'public'
2023-03-10 12:30:03 -07:00
Benjamin David Lunt
5b6ed6274b
USB emulation update
Add protected declaration
2023-03-10 12:22:13 -07:00
Benjamin David Lunt
884d4c272e
USB emulation update
fix two comments
2023-03-10 11:56:12 -07:00
Benjamin David Lunt
7041926aac
USB emulation update
Added examples for new options.
 - xhci: model= option
 - xhci: allow the user to select number of ports
 - usb disk: proto= option (bbb or uasp)
Added xhci primary stream support.
 (Secondary stream support is not included)
Added (experimental) usb disk protocol UASP for super- and high-speed usb disk devices.
  (high-speed uasp support is not thoroughly tested)
xhci: fixed "change event" function
scsi: fixed bug in command 0x25
scsi: added command 9E/10
2023-03-10 11:37:08 -07:00
Benjamin David Lunt
86b50988be
USB emulation update
Added examples for new options.
xhci: model= option
usb disk: proto= option
2023-03-10 11:29:06 -07:00
Benjamin David Lunt
8a1f8cf545
USB emulation update
Added examples for new options.
xhci: model= option
usb disk: proto= option
2023-03-10 11:27:12 -07:00
Stanislav Shwartsman
43f18a1e2e
Merge pull request #34 from fysnet/master
minor error in validation of slot and ep fixed
2023-02-25 19:49:23 +02:00
Benjamin David Lunt
8078e5f85f
removed unprintable characters 2023-02-25 08:15:17 -07:00
Benjamin David Lunt
db49706bbd
minor error in validation of slot and ep fixed 2023-02-24 17:19:11 -07:00
Stanislav Shwartsman
9edcaf8697
Merge pull request #32 from julienfreche/jfreche/cpudb_string_size
cpudb: extend strings that are too small
2023-02-23 06:38:29 +02:00
Julien Freche
29f3e4a455 cpudb: extend strings that are too small 2023-02-22 12:03:02 -08:00
Stanislav Shwartsman
a11b4e1c20
Merge pull request #31 from fysnet/master
Minor:

Check speed indicator in the Transfer Descriptor matching the device speed.
Max packet size check, checking that the amount requested/sent is within limits.
Checking that the first packet sent is the GetDescriptor Request with a length equal to or less than the max packet size.
Checking the command length in the USB SCSI emulation.
Checking command parameters within various emulations (SCSI (BBB), etc.)
Implemented "Boot Protocol" for the (HID) Mouse emulation.
Fixed wheel mouse HID report (along with the other HID reports)
Added the Over Current bits to the UHCI code
Added the monitoring of the toggle bit in the TDs

Major:

Re-wrote the UHCI stack processing so that control and bulk reclamation can be used.
(This made it so Windows 7 now works)
Adding function to the USB SCSI emulation.
Enhanced the xHCI emulation to further check for errors in a driver.
2023-02-20 20:34:00 +02:00
Benjamin David Lunt
a098f5f153
Use defines instead of bits 2023-02-18 12:36:25 -07:00
Benjamin David Lunt
497683a2d0
Win32: Make panic dialog a little wider
This makes the Win32 Panic Dialog a little wider so the error string isn't truncated
2023-02-18 12:29:45 -07:00
Benjamin David Lunt
71694e34cd
Error fix for compiler 2023-02-16 17:58:06 -07:00
Benjamin David Lunt
996d081d4c
Minor fix for compiler error 2023-02-16 17:52:29 -07:00
Benjamin David Lunt
a4492a9179
USB Enhancement (minor addition) 2023-02-16 17:38:41 -07:00
Benjamin David Lunt
a996807435
Enhanced the USB emulation
The enhancements include fixes and error checks targeting hobbyists who are writing USB drivers.
2023-02-16 17:24:13 -07:00
ImWuX
a83e275382
forgot to update header :D 2023-02-16 14:17:24 +02:00
ImWuX
9d65d5e261
patched an issue with the HPET where writing an u64 with HPET_TN_SETVAL set, would only write the lower 32bits into the comparator. 2023-02-16 14:11:43 +02:00
Benjamin David Lunt
cc6ac48d6c
Wider statusbar elements
With newer wider screens, we can now have wider statusbar elements so that an element such as "USB-HD" isn't clipped on both sides.
2023-02-10 21:17:21 -07:00
Benjamin David Lunt
5d81785db6
Add SCSI_CD_EVENT_STATUS 2023-02-01 16:51:16 -07:00
Florian Weimer
10c5ff3f82 configure: Improve compatibility with strict(er) C99 compilers
C99 removed implicit function declarations from the language.  All
functions must be declared before they can be called.  There are a
few places in the configure script where the exit function is called
without including <stdlib.h>.  Instead, return from the main
function, avoiding the exit declaration issue.
2022-11-27 23:12:58 +01:00
quirck
bee4cefb9e Check breakpoints before icount guard 2022-11-13 22:24:37 +03:00
Satoshi Tanda
d773b5b0a7 Fix windows build 2022-10-30 14:48:57 -07:00
Anders
f4dfeb260e
Register Windows silent uninstall command
Added silent uninstall command for use by WinGet and other packaging tools.

I also made the strings non-expandable because $InstDir will never contain %ProgramFiles% etc.
2022-10-12 04:07:42 +02:00
Stanislav Shwartsman
7562731dca a little coding style unification 2022-10-08 20:35:36 +03:00
Stanislav Shwartsman
4c9f637d49 updated CHANGES 2022-10-08 20:30:31 +03:00
Stanislav Shwartsman
0e4524f38f Implemented CMPccXADD instructions 2022-10-08 20:04:22 +03:00
Stanislav Shwartsman
aa84121ede changes (c) date 2022-10-02 23:26:57 +03:00
Stanislav Shwartsman
c47b5ff5cb extract IFMA52 code to separate file 2022-10-02 23:24:00 +03:00
Stanislav Shwartsman
63ed447717 fixed compilation 2022-10-02 23:09:41 +03:00
Stanislav Shwartsman
4aed72e0ef fix issue with AVX IFMA when EVEX is not compiled in 2022-10-02 23:07:05 +03:00
Stanislav Shwartsman
a56144833a add support for AVX encoded VNNI INT8 extensions 2022-10-02 23:00:46 +03:00
Stanislav Shwartsman
3a20495db8 implemented WRMSRNS extension - Non Serializing version of WRMSR opcode 2022-10-02 22:16:02 +03:00
Stanislav Shwartsman
9f76eaacea implemented AVX IFMA instructions 2022-10-02 22:08:20 +03:00
Stanislav Shwartsman
698859df13 fixed compilation warning 2022-10-02 22:07:26 +03:00
Stanislav Shwartsman
22f868ae6d update lex/yacc autogenerated files for debugger 2022-10-02 22:02:09 +03:00
Stanislav Shwartsman
3d23dff408 Merge branch 'master' of https://github.com/bochs-emu/Bochs 2022-10-01 14:12:12 +03:00
Stanislav Shwartsman
d1737638ec add CPUID definitions disclosed in recent Intel SDM 2022-10-01 14:11:45 +03:00
Dreg
b0173eaac5 Fix dbgdoc user.dbk broken with PR #12 2022-09-19 04:29:19 +02:00
Dreg
d514779177 add dbghelp for source, bt and print-string commands 2022-09-12 10:53:39 +02:00
Stanislav Shwartsman
ce44e952ee update autogenerated lex/yacc files with new debugger command 2022-09-09 16:53:32 +03:00
Stanislav Shwartsman
759ad34919
Merge pull request #10 from therealdreg/master
add layout commands for dbg
2022-09-09 16:39:32 +03:00
Dreg
7c6bd03e05 add layout commands for dbg 2022-08-29 18:27:12 +02:00
Volker Ruppert
5ebe6b46d0 Removed useless BX_DEBUG messages in devices init 2022-08-29 18:14:59 +02:00
Stanislav Shwartsman
7a1306e50e
Merge pull request #5 from tandasat/update-vs-projects
Update Visual Studio projects
2022-08-27 19:10:14 +03:00
Satoshi Tanda
1488975dab Enable --enable-avx for Windows build for x64 2022-08-27 08:35:39 -07:00
Stanislav Shwartsman
1162fb4d74 Add --enable-avx to add predefined configure targets 2022-08-27 09:01:18 +03:00
Satoshi Tanda
c52dc25c26 add missing CPU model names 2022-08-26 20:40:53 -07:00
Satoshi Tanda
223b1d923c remove trailing spaces 2022-08-26 20:40:16 -07:00
Satoshi Tanda
016c058652 Enable --enable-avx for Windows build 2022-08-26 19:46:11 -07:00
Satoshi Tanda
4765641de0 build: update bochs.sln to VS2019 version 2022-08-26 19:46:11 -07:00
Satoshi Tanda
156f9110e9 build: delete a reference to the disasm project 2022-08-26 19:46:11 -07:00
Satoshi Tanda
7ac1b79629 build: add dependency on avx to the cpu project 2022-08-26 19:46:11 -07:00
Satoshi Tanda
60afce0e90 build: add some missing files to VS projects 2022-08-26 19:46:11 -07:00
Satoshi Tanda
f1902239b6 build: resolve MSBuild warning MSB8012 2022-08-26 19:46:11 -07:00
Satoshi Tanda
982a00e3a6 build: extract vs2019-workspace.zip 2022-08-26 19:46:11 -07:00
Stanislav Shwartsman
b75fcc4535 updates to cpuid.h with most recent CPUID bit definitions 2022-08-26 22:31:23 +03:00
Stanislav Shwartsman
5fab5364bc update CHANGES 2022-08-26 21:55:38 +03:00
Stanislav Shwartsman
cee5e6de4b update configure.in for autoconf 2.71
it also required configure.in to be renamed to configure.ac
2022-08-26 21:20:51 +03:00
Stanislav Shwartsman
a2673e147d update .conf.everything script 2022-08-26 21:15:46 +03:00
Stanislav Shwartsman
6acd22b7e4 regen lex/yacc after deref command 2022-08-23 23:39:33 +03:00
Dreg
acfa7399e1
dereference expression and command for dbg (#38)
* dereference expression and command for dbg

* doc updated for deref and $ operator
2022-08-23 23:37:30 +03:00
Stanislav Shwartsman
44274b37db use true / false for boolean instead of const 0 and 1 in memory 2022-08-23 21:56:09 +03:00
Stanislav Shwartsman
1e4f1624c8 remove trailing whitespace from source files 2022-08-23 21:46:04 +03:00
Stanislav Shwartsman
f82270013d update user docs for internal debugger 2022-08-23 21:33:20 +03:00
Stanislav Shwartsman
fc39d2b6fe regen lex/yacc autogenerated files after writemem command added 2022-08-23 21:20:55 +03:00
Dreg
3cd6a92c8e
improved info gdt/ldt support for 64/32 entries (#36)
improved info gdt/ldt support for 64/32bit entries
2022-08-22 08:49:04 +03:00
Dreg
104d169ef8
add new dbg command loadmem, load bytes from file to memory (laddr) (#34)
* add dbg bx_dbg_write_linear

* add dbg bx_dbg_loadmem_command

load bytes from file to memory
2022-08-22 08:17:57 +03:00
Satoshi Tanda
30ef7f4842
Fix dbg_xlate_linear2phy for NPT (#30) 2022-08-22 07:20:47 +03:00
Stanislav Shwartsman
2f45913397
extend setpmem command to support 8-byte values to write (#35)
Co-authored-by: Stanislav Shwartsman <sshwarts@users.sourceforge.net>
2022-08-21 16:48:10 +03:00
Dreg
1eb1a8d641
add dbginfo support for 64 bit entries (LDT,GDT) long mode (#33) 2022-08-21 11:06:03 +03:00
Stanislav Shwartsman
fac15a7d03 updates to MTF code:
if VMEntry delivered an event of event happen right after VMEntry - MTF becomes pending immediatelly
2022-08-16 21:37:36 +03:00
Stanislav Shwartsman
b946570838 implemented VMX Monitor Trap Flag handling 2022-08-16 21:17:05 +03:00
Stanislav Shwartsman
180c1f09d5 fixed compilation 2022-08-14 21:18:25 +03:00
Stanislav Shwartsman
c9d8413422 allow TLB caching of SPP paging writes
it is possible that SPP-protected subpage block is allowing write but all others are not.
the TLB entry cannot be cached as writeOK based on SPP subblock check
2022-08-14 21:09:18 +03:00
Stanislav Shwartsman
97a2cdd85f update VMEXIT reasons according to published docs
update list of trap-like VMEXITs
2022-08-13 23:25:10 +03:00
Stanislav Shwartsman
df849619be more SPP limitations 2022-07-31 22:07:16 +03:00
Stanislav Shwartsman
f052c0f5b2 - VMX: Implemented missing SPP Misconfiguration condition (odd bits of SPP PTE entry are reserved)
- VMX: Fix SPP walk and VMCS access memory type to WB (match memory type listed in IA32_VMX_BASIC MSR)
2022-07-31 19:57:38 +03:00
Stanislav Shwartsman
13aa25919a Revert "do not ignore MSR=0 even if ignore_bad_msrs is set"
MSR=0 is valid MSR (used for Machine Check Architecture)

This reverts commit cf03c00ef0.
2022-07-31 18:47:13 +03:00
Stanislav Shwartsman
4d227d15fb remove instrument.h from bochs.h so it won't be included everywhere
include it only where required
move PHY_ADDRESS reserved bits consts to cpu.h
2022-07-30 22:35:43 +03:00
Stanislav Shwartsman
cf03c00ef0 do not ignore MSR=0 even if ignore_bad_msrs is set 2022-07-30 19:53:10 +03:00
Stanislav Shwartsman
d576eaa7c1 list in debug CR4 more already published bits (UINTR)
fix debug print of XCR0
2022-07-30 19:15:32 +03:00
Stanislav Shwartsman
3f65841714
use boolean constants true/false instead of 0/1 (#26)
* use boolean constants true/false instead of 0/1

* fix code comment

Co-authored-by: Stanislav Shwartsman <sshwarts@users.sourceforge.net>
2022-07-30 18:38:22 +03:00
Stanislav Shwartsman
0f9aec0e1a Merge branch 'master' of https://github.com/stlintel/Bochs 2022-07-30 15:43:25 +03:00
Stanislav Shwartsman
2093c2b1a3 allow 'Save guest MSR_PERF_GLOBAL_CTRL on VMEXIT' VMX control
at least fake it
2022-07-30 15:43:09 +03:00
Stanislav Shwartsman
f44f4ae753
MBE (Mode Based Execution Control) emulation (#22)
* MBE (Mode Based Execution Control) emulation
2022-07-30 15:26:47 +03:00
Stanislav Shwartsman
fb09790846 dos2unix to all files 2022-07-30 14:31:16 +03:00
Stanislav Shwartsman
e32d536abe
added ability to select memory block size configurable (#25)
very large memory configurations require large memory block (or very large amount of blocks)
2022-07-30 13:56:09 +03:00
Stanislav Shwartsman
8afd14972e
convert many consts from #define to enum or const variables (#23) 2022-07-27 23:20:47 +03:00
Stanislav Shwartsman
94503e7a0b
cpu/vmx definitions (#20)
* update vmx.h with recently published definition
* update actions after conflicts
2022-07-27 20:51:25 +03:00
Stanislav Shwartsman
430ba44b0e
Create hc-cpp.yml (#19)
* Create hc-cpp.yml

* update actions

* update actions

* update actions

* update actions

* update actions

* fix format string for VMX preemption timer dbg message
Fix compilation with BX_HAVE_XRANDR_H = 0: XRRQueryExtension is not available

* update actions

* add .conf.everything to testing

Co-authored-by: Stanislav Shwartsman <sshwarts@users.sourceforge.net>
2022-07-27 01:26:55 +03:00
Satoshi Tanda
88f881c6d5
Fix that the INIT signal remains pending even after delivery of VM-exit/#VMEXIT(INIT) (#16)
* Clear pending INIT signal

When the INIT signal is translated into corresponding VM-exit/#VMEXIT,
the signal should no longer be marked as pending. Otherwise, the signal
would be (incorrectly) delivered again.

* Remove trailing space and fix an incorrect indent
2022-07-24 07:14:01 +03:00