69ed5bb67d
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> |
||
---|---|---|
.github | ||
arch | ||
audio | ||
binfmt | ||
boards | ||
cmake | ||
crypto | ||
Documentation | ||
drivers | ||
dummy | ||
fs | ||
graphics | ||
include | ||
libs | ||
mm | ||
net | ||
openamp | ||
pass1 | ||
sched | ||
syscall | ||
tools | ||
video | ||
wireless | ||
.asf.yaml | ||
.gitignore | ||
.yamllint | ||
AUTHORS | ||
CMakeLists.txt | ||
CONTRIBUTING.md | ||
INVIOLABLES.md | ||
Kconfig | ||
LICENSE | ||
Makefile | ||
NOTICE | ||
README.md | ||
ReleaseNotes |
Apache NuttX is a real-time operating system (RTOS) with an emphasis on standards compliance and small footprint. Scalable from 8-bit to 64-bit microcontroller environments, the primary governing standards in NuttX are POSIX and ANSI standards. Additional standard APIs from Unix and other common RTOSs (such as VxWorks) are adopted for functionality not available under these standards, or for functionality that is not appropriate for deeply-embedded environments (such as fork()).
For brevity, many parts of the documentation will refer to Apache NuttX as simply NuttX.
Getting Started
First time on NuttX? Read the Getting Started guide! If you don't have a board available, NuttX has its own simulator that you can run on terminal.
Documentation
You can find the current NuttX documentation on the Documentation Page.
Alternatively, you can build the documentation yourself by following the Documentation Build Instructions.
The old NuttX documentation is still available in the Apache wiki.
Supported Boards
NuttX supports a wide variety of platforms. See the full list on the Supported Platforms page.
Contributing
If you wish to contribute to the NuttX project, read the Contributing guidelines for information on Git usage, coding standard, workflow and the NuttX principles.
License
The code in this repository is under either the Apache 2 license, or a license compatible with the Apache 2 license. See the License Page for more information.