nuttx/drivers
Brennan Ashton 69ed5bb67d Various fixes for PCI work
Squashed commits:

1. Porting prior PCI work in place of jailhouse code

At this point the PCI enumeration works for x86_64 including over
pci-pci bridges.

Running QEMU with this configuration we see the bridge and the
device on the bridge.  It also detected the qemu test device

qemu-system-x86_64 \
  -cpu host,+pcid,+x2apic,+tsc-deadline,+xsave,+rdrand \
  --enable-kvm -smp 1 -m 2G -cdrom boot.iso --nographic -no-reboot \
  -device pci-testdev \
  -device pci-bridge,id=bridge0,chassis_nr=2 \
  -device e1000,bus=bridge0,addr=0x3

qemu_pci_init: Initializing PCI Bus
pci_probe_device: [00:00.0] Found 8086:1237, class/revision 06000002
pci_probe_device: [00:01.1] Found 8086:7010, class/revision 01018000
pci_probe_device: [00:01.2] Found ffff:ffff, class/revision ffffffff
pci_probe_device: [00:01.3] Found 8086:7113, class/revision 06800003
pci_probe_device: [00:01.4] Found ffff:ffff, class/revision ffffffff
pci_probe_device: [00:01.5] Found ffff:ffff, class/revision ffffffff
pci_probe_device: [00:01.6] Found ffff:ffff, class/revision ffffffff
pci_probe_device: [00:01.7] Found ffff:ffff, class/revision ffffffff
pci_probe_device: [00:02.0] Found 1234:1111, class/revision 03000002
pci_probe_device: [00:03.0] Found 8086:100e, class/revision 02000003
pci_probe_device: [00:04.0] Found 1b36:0005, class/revision 00ff0000
pci_probe_device: [00:04.0] Probing
pci_check_pci_bridge: [00:05.0] Found Bridge
pci_probe_device: [01:03.0] Found 8086:100e, class/revision 02000003
pci_probe_device: [00:05.0] Found 1b36:0001, class/revision 06040000

2. Remove unused CONFIG_PCI_MAX_BDF option

3. Add a workaround for Jailhouse pci scanning

4. Extend BAR parsing and handle PIO and MMIO for pci-testdev

Signed-off-by: Brennan Ashton <bashton@brennanashton.com>

5. PCI: Add initial support for QEMU 'edu' test device

Signed-off-by: Brennan Ashton <bashton@brennanashton.com>

6. Bring up PCI later in boot process

Signed-off-by: Brennan Ashton <bashton@brennanashton.com>

7. Add ISR and DMA support to QEMU edu test pci device

Signed-off-by: Brennan Ashton <bashton@brennanashton.com>

8. Fix bad function prototype definition in qemu_edu

9. intel64:  Add a pci test configuration and instructions

Signed-off-by: Brennan Ashton <bashton@brennanashton.com>

10. PCI: Fix issue in identification of 64bit bar

Signed-off-by: Brennan Ashton <bashton@brennanashton.com>
2024-01-25 09:09:30 -08:00
..
1wire 1wrie:fix typo 2023-08-03 00:06:24 -07:00
analog poll: pollsetup should notify only one fd passd by caller 2023-11-21 09:07:17 +01:00
audio Update kconfig2html.c 2023-12-14 20:02:52 -08:00
bch poll: pollsetup should notify only one fd passd by caller 2023-11-21 09:07:17 +01:00
can poll: pollsetup should notify only one fd passd by caller 2023-11-21 09:07:17 +01:00
clk fs: procfs add poll support 2023-12-26 19:23:13 -08:00
contactless mm/alloc: remove all unnecessary cast for alloc 2023-08-30 14:34:20 +08:00
crypto Fix Kconfig style 2023-12-09 13:44:46 -08:00
devicetree fdt: Add initial FDT support and procfs for userspace export 2023-08-05 12:41:06 -07:00
dma
dummy
eeprom Documentation: remove all migrated READMEs 2023-10-29 21:03:54 -03:00
efuse nuttx: use lib_free for memory de-allocation after strdup or asprintf 2023-08-08 11:58:29 -03:00
i2c mm/alloc: remove all unnecessary cast for alloc 2023-08-30 14:34:20 +08:00
i2s mm/alloc: remove all unnecessary cast for alloc 2023-08-30 14:34:20 +08:00
input poll: pollsetup should notify only one fd passd by caller 2023-11-21 09:07:17 +01:00
ioexpander ioexpander: add support for iC-JX expander 2024-01-23 17:15:25 -03:00
ipcc poll: pollsetup should notify only one fd passd by caller 2023-11-21 09:07:17 +01:00
lcd sim_lcd: add open & close 2023-12-18 09:06:29 -08:00
leds drivers/leds/ws2812: Fix WS2812 pixel size 2023-12-24 16:38:06 -08:00
loop enable O_CLOEXEC explicit 2023-09-22 13:51:00 +08:00
math math/mpi: add mpi driver in math 2023-10-17 13:43:43 +08:00
misc rpmsgdev_server: do not notify the client when the fds has teardown 2024-01-04 20:30:49 -08:00
mmcsd fs: procfs add poll support 2023-12-26 19:23:13 -08:00
modem modem/alt1250: Fix 'inst' may be used uninitialized 2023-12-19 08:36:49 +08:00
motor drivers/foc: add support for drv8301 power-stage driver 2023-11-18 17:07:20 -08:00
mtd rpmsgmtd: use fixed length struct to transfer between two cpus 2024-01-11 08:33:15 +01:00
net net:Add support for multi PHY 2024-01-06 04:26:12 -08:00
note fix build with CONFIG_SCHED_INSTRUMENTATION_FUNCTION 2024-01-22 19:30:40 +08:00
pci Various fixes for PCI work 2024-01-25 09:09:30 -08:00
pipes poll: pollsetup should notify only one fd passd by caller 2023-11-21 09:07:17 +01:00
power fs: procfs add poll support 2023-12-26 19:23:13 -08:00
rc poll: pollsetup should notify only one fd passd by caller 2023-11-21 09:07:17 +01:00
regmap Documentation: remove all migrated READMEs 2023-10-29 21:03:54 -03:00
reset added mutex lock before lookup reset controller by name 2023-08-11 20:39:16 +08:00
rf
rmt xtensa/esp/rmt: Add the lower-half implementation of the RMT driver 2023-12-24 16:38:06 -08:00
rpmsg rpmsgfs: decoupling rpmsgfs server and rpmsg virtio. 2024-01-24 06:52:13 -08:00
rptun rpmsgfs: decoupling rpmsgfs server and rpmsg virtio. 2024-01-24 06:52:13 -08:00
segger segger/rtt: correct macro name to avoid unable to change default mode 2023-11-30 06:16:09 -08:00
sensors sensors: mx56xx: Correct type of temperature 2023-12-20 07:00:34 -08:00
serial drivers/serial/pl011: add FAR specifier 2024-01-11 13:39:06 +01:00
spi poll: pollsetup should notify only one fd passd by caller 2023-11-21 09:07:17 +01:00
syslog rptun: Strip rpmsg and rptun 2024-01-16 15:58:32 +01:00
timers drivers/rtc/rpmsg: Move clock_synchronize rpmsg_rtc_server_settime 2023-11-20 13:28:09 +01:00
usbdev usb: document revision and typo fixing 2024-01-18 21:09:20 -08:00
usbhost usb: document revision and typo fixing 2024-01-18 21:09:20 -08:00
usbmisc poll: pollsetup should notify only one fd passd by caller 2023-11-21 09:07:17 +01:00
usbmonitor
usrsock rptun: Strip rpmsg and rptun 2024-01-16 15:58:32 +01:00
video drivers/goldfish_fb: optimize goldfish fb register 2023-12-18 09:08:32 -08:00
virt Various fixes for PCI work 2024-01-25 09:09:30 -08:00
virtio virtio-mmio: use byte to byte in read/write config when length != 1,2,4,8 2024-01-06 04:23:05 -08:00
wireless bcmf_driver:wlan interface status reset by unsolicited wpa packet 2024-01-24 20:18:40 +08:00
.gitignore
CMakeLists.txt
drivers_initialize.c driver/tee: add optee client driver module 2023-11-23 06:25:48 -08:00
Kconfig Various fixes for PCI work 2024-01-25 09:09:30 -08:00
Makefile Various fixes for PCI work 2024-01-25 09:09:30 -08:00