From: Lunaixsky Date: Sun, 21 Jul 2024 19:45:46 +0000 (+0100) Subject: PCI 16x50 UART Controller, O2 Enablement (#39) X-Git-Url: https://scm.lunaixsky.com/lunaix-os.git/commitdiff_plain/ebb55b7e5f0b8f31328950ec383b77b208ffbb64?hp=ebb55b7e5f0b8f31328950ec383b77b208ffbb64 PCI 16x50 UART Controller, O2 Enablement (#39) * add PCI 16x50 uart controller, refactor the 16x50 structure * refactor the pci detection mechanism, allow custom compatibility check logic. * fix bug in pci device definition binding where only bind once * refactor the 16x50 controller structure, move pmio and mmio as separated component and does not need to couple with interface * fix issue where x86:isrm_ivexalloc alloc duplicated interrupt vector * change the signature of ioremap to return ptr_t instead of generic pointer * fix issue in LunaConfig header export, where non string type being joined as a string type * add config term for 16x50 controller. * rework the usr/testp, allow user to specify serial interface * usr/ls, add a slash after directory file name to distinguish * add the implementation for iounmap * refactor pci dev to use latest change in pci * remove the out-dated, mask based compatibility check scheme * rectify the issues with -O2 optimization * refactor: allow Lunaix to compile with -O2 optimization * add LConfig terms for PCI related features * add LConfig terms for AHCI related features * refactor the pci device code base with latest pci refactoring * fix: fail to read bool type config term when the value of the term is False * refactor: LConfig: allow omit the `LConfig` when doing include * remove legacy file ---