Unifying External Interrupt System (#51)
authorLunaixsky <lunaixsky@qq.com>
Sun, 15 Dec 2024 01:40:25 +0000 (01:40 +0000)
committerGitHub <noreply@github.com>
Sun, 15 Dec 2024 01:40:25 +0000 (01:40 +0000)
commitf89517343bf062d299d54408eea2f9387bfefb6d
treefb9f16b76195296227f69a592fc8e7957e073c67
parent9daf4fcdae88f72af60aeb0c7722841af02233d4
Unifying External Interrupt System (#51)

* rework external irq system, introduce hierarchical irq

* add btrie_map() for allocating free slot, remove isrm

* rewrite the btrie key allocation algorithm for better uniformity

* optimize the tests makefiles, add unit tests for btrie key allocator

* add simple memory allocation monitor for checking leakage and usage

* reduce verbosity of unit test ouput, some clean up

* make irq specifier to be provided when assigining irq

* general fix around.
62 files changed:
lunaix-os/arch/README.md
lunaix-os/arch/generic/includes/asm-generic/isrm.h [deleted file]
lunaix-os/arch/x86/LBuild
lunaix-os/arch/x86/arch.c
lunaix-os/arch/x86/exceptions/interrupts.c
lunaix-os/arch/x86/exceptions/intr_routines.c [deleted file]
lunaix-os/arch/x86/exceptions/isrm.c [deleted file]
lunaix-os/arch/x86/hal/LBuild
lunaix-os/arch/x86/hal/apic.c
lunaix-os/arch/x86/hal/apic_timer.c
lunaix-os/arch/x86/hal/ioapic.c [deleted file]
lunaix-os/arch/x86/hal/mc146818a.c
lunaix-os/arch/x86/hal/ps2kbd.c
lunaix-os/arch/x86/includes/asm/soc/apic.h
lunaix-os/arch/x86/includes/asm/soc/ioapic.h [deleted file]
lunaix-os/arch/x86/includes/asm/x86.h
lunaix-os/arch/x86/includes/asm/x86_isrm.h [deleted file]
lunaix-os/arch/x86/includes/asm/x86_ivs.h
lunaix-os/hal/LBuild
lunaix-os/hal/ahci/ahci.c
lunaix-os/hal/ahci/ahci_pci.c
lunaix-os/hal/ahci/io_event.c
lunaix-os/hal/bus/pci.c
lunaix-os/hal/char/uart/16x50.h
lunaix-os/hal/char/uart/16x50_base.c
lunaix-os/hal/char/uart/16x50_isa.c
lunaix-os/hal/char/uart/16x50_mmio.c
lunaix-os/hal/char/uart/16x50_pci.c
lunaix-os/hal/char/uart/16x50_pmio.c
lunaix-os/hal/devtree/LBuild
lunaix-os/hal/devtree/devtree.h
lunaix-os/hal/devtree/dt.c
lunaix-os/hal/irq.c [new file with mode: 0644]
lunaix-os/includes/hal/ahci/ahci.h
lunaix-os/includes/hal/devtree.h
lunaix-os/includes/hal/devtreem.h
lunaix-os/includes/hal/irq.h [new file with mode: 0644]
lunaix-os/includes/hal/pci.h
lunaix-os/includes/listings/changeling.lst
lunaix-os/includes/listings/device_potens.lst
lunaix-os/includes/lunaix/device.h
lunaix-os/includes/lunaix/ds/btrie.h
lunaix-os/kernel/ds/btrie.c
lunaix-os/kernel/process/sched.c
lunaix-os/tests/includes/testing/basic.h
lunaix-os/tests/includes/testing/memchk.h [new file with mode: 0644]
lunaix-os/tests/shared/framework.c
lunaix-os/tests/shared/makefile
lunaix-os/tests/shared/memchk.c [new file with mode: 0644]
lunaix-os/tests/shared/mkobj.mkinc [new file with mode: 0644]
lunaix-os/tests/units/.gitignore [new file with mode: 0644]
lunaix-os/tests/units/btrie/dut/btrie.c [new symlink]
lunaix-os/tests/units/btrie/makefile [new file with mode: 0644]
lunaix-os/tests/units/btrie/test-alloc.c [new file with mode: 0644]
lunaix-os/tests/units/btrie/tests.txt [new file with mode: 0644]
lunaix-os/tests/units/device-tree/.gitignore
lunaix-os/tests/units/device-tree/common.h
lunaix-os/tests/units/device-tree/makefile
lunaix-os/tests/units/makefile
lunaix-os/tests/units/stubs/valloc.c
lunaix-os/tests/units/test_build.mkinc [deleted file]
lunaix-os/tests/units/units_build.mkinc [new file with mode: 0644]