joevt
d843091a4d
Allow setting PCI capabilities pointer
...
The capabilities pointer is usually a constant, but whatever the capabilities pointer points to has to be handled by the derived class.
2022-08-22 17:16:22 -07:00
joevt
6fad095730
Allow setting PCI status register
...
Don't always return 0 when reading it. The status register contains some bits that Open Firmware uses to set some properties.
A PCI device can set a default status register value to set those bits.
this->status = 0x02B0; // 0000 0 01 0 1 0 1 1 0000 Capabilities List, 66 MHz, Fast Back-to-Back, DevSel Speed: Medium
2022-08-22 17:16:22 -07:00
joevt
6af8b52376
changes to pci logging
...
For invalid or unsupported PCI accesses, do the following:
- log a device's full pci address using pciutils setpci command format bb:dd.f @rr.s (bus:device:function @register+offset.size).
- report as read or write access.
- log value for writes.
- bus, device, function, and register values cannot be determined from Invalid IDSEL values so they will output as ??.
- for invalid IDSEL values, report the entire value of the config_addr.
- for valid IDSEL values, the bus number cannot be determined since IDSEL only specifies device number. It's probably bus 00 but we'll show ?? to indicate an IDSEL type access.
Add missing config type read access logging for chaos.
2022-08-22 17:16:17 -07:00
joevt
63248b0fa2
Set Bandit's HWComponent name
...
Bandit has two names:
- PCIDevice->pci_name
- PCIDevice:MMIODevice:HWComponent->name
The latter was not being set.
2022-08-22 17:07:50 -07:00
joevt
cd122ce263
Open Firmware is two words
...
Not OpenFirmware.
Also fixed a spelling mistake and removed some extra spaces.
2022-08-22 16:47:38 -07:00
Maxim Poliakovski
e097b7a0a1
bandit: fix return value for empty slots.
2022-08-22 15:05:35 +02:00
Maxim Poliakovski
32b8c8ed43
pcidevice: fix expansion ROM mapping.
2022-08-20 12:51:08 +02:00
Maxim Poliakovski
56c54e4c8c
pcihost: add attach_pci_device method.
2022-08-19 18:55:33 +02:00
Maxim Poliakovski
4964008511
machineid: improve Gossamer ID description.
2022-08-15 20:49:06 +02:00
joevt
93fae1ee68
Merge remote-tracking branch 'upstream/master'
2022-08-14 16:38:51 -07:00
Maxim Poliakovski
8cdbd9f81f
Generic I2C PROM emulation.
2022-08-14 23:01:55 +02:00
joevt
b76bfedf4b
Remove unnecessary linefeeds from log
...
To remove blank lines in the dingusppc.log file or in the console output when -d is used.
2022-08-14 05:26:56 -07:00
Maxim Poliakovski
b67644ba35
athens: support ID reading & dot clock disabling.
2022-08-11 01:43:29 +02:00
Maxim Poliakovski
5463c8e6cb
athens: fix compilation with GCC.
2022-08-07 15:32:05 +02:00
Maxim Poliakovski
bd19914132
Initial emulation of the Athens clock ASIC.
2022-08-07 15:25:58 +02:00
Maxim Poliakovski
e3900b9062
bandit: add Chaos support.
2022-08-06 19:29:45 +02:00
Maxim Poliakovski
ea0fb3b410
bandit: initialize address mask register.
2022-07-25 12:51:55 +02:00
Maxim Poliakovski
b8915f11a2
debugger: fix ofnvram commands for Nubus machines.
2022-07-18 20:27:34 +02:00
Maxim Poliakovski
9971052a78
mesh: self-registration with the device registry.
2022-07-18 20:27:34 +02:00
Maxim Poliakovski
7db0a31cc5
nvram: self-registration with the device registry.
2022-07-18 20:27:34 +02:00
Maxim Poliakovski
41a314d6d6
bandit: self-registration with the device registry.
2022-07-18 20:27:34 +02:00
Maxim Poliakovski
2dfc160e30
sc53c94: self-registration with the device registry.
2022-07-18 20:27:34 +02:00
Maxim Poliakovski
66debbc730
viacuda: self-registration with the device registry.
2022-07-18 20:27:34 +02:00
Maxim Poliakovski
06001a778f
GCC compilation fixes.
2022-05-21 15:10:40 +02:00
Maxim Poliakovski
ed02a06bb8
pcidevice: loading of expansion ROMs from files.
2022-05-21 14:51:27 +02:00
Maxim Poliakovski
5b7e79b979
Bandit: implement I/O space transactions.
2022-05-21 14:51:27 +02:00
Maxim Poliakovski
bfd48eeeb2
Bandit: implement address mask register.
2022-05-21 14:51:27 +02:00
Maxim Poliakovski
4225f0aec2
ofnvram: implement changing of string variables.
2022-05-21 14:51:27 +02:00
Maxim Poliakovski
a7e06f4e4b
Utility class for viewing/changing OF NVRAM variables.
2022-05-21 14:51:27 +02:00
Maxim Poliakovski
4b2f3cedc7
Make NVRAM a full-fledged HW component.
2022-05-21 14:51:27 +02:00
Maxim Poliakovski
d863fa0c80
Bandit: use common PCI configuration code.
2022-05-21 14:51:27 +02:00
Maxim Poliakovski
1f67a57d7b
Common code for handling PCI config space.
2022-05-21 14:51:26 +02:00
Maxim Poliakovski
8d9691cc6f
MESH: add MeshScsi namespace.
2022-05-21 14:51:26 +02:00
Maxim Poliakovski
4b32e9bd30
Initial emulation of the Platinum Memory controller.
2022-05-21 14:51:26 +02:00
Maxim Poliakovski
23a046d889
Refine Bandit config address handling.
2022-05-21 14:51:26 +02:00
Maxim Poliakovski
cdb34032bc
Initial emulation of the Bandit ARBus-to-PCI bridge.
2022-05-21 14:51:26 +02:00
Maxim Poliakovski
74f4dbd7e6
pcihost: pull common code from Grackle.
2022-05-21 14:51:26 +02:00
dingusdev
36fa53e8c1
MSVC compilation fixes
2022-03-12 15:43:45 -07:00
Maxim Poliakovski
edd3979647
Cuda: increase size of the input buffer.
2022-02-19 23:23:24 +01:00
Maxim Poliakovski
2525398b6e
SWIM3: add support for floppy DMA.
2022-02-15 15:53:18 +01:00
Maxim Poliakovski
0d3fd01fef
Improve emulation of the VIA timers.
2022-02-13 03:02:17 +01:00
Maxim Poliakovski
9f3f46603f
AMIC: handle SWIM3 interrupts.
2022-02-07 23:10:17 +01:00
Maxim Poliakovski
b25b526582
hwcomponent: add floppy disk drive component type.
2022-02-06 15:20:07 +01:00
Maxim Poliakovski
00093bdc95
sc53c94: support interrupts.
2022-02-06 01:50:54 +01:00
Maxim Poliakovski
298135fd7a
AMIC: process VIA2 interrupts.
2022-02-06 01:50:54 +01:00
Maxim Poliakovski
7c53620a40
sc53c94: implement sequencer and some commands.
2022-02-06 01:50:54 +01:00
Maxim Poliakovski
b5f70feb28
Initial SCSI bus emulation.
2022-02-06 01:50:54 +01:00
Maxim Poliakovski
5c177cc50f
Simplify registration of HW component types.
2022-01-26 16:45:21 +01:00
Maxim Poliakovski
dc34f282b7
53C94: support more registers and commands.
2022-01-24 22:55:49 +01:00
Maxim Poliakovski
5883524fb8
53C94: chip initialization and identification.
2022-01-22 04:37:52 +01:00