From fe64d1ddeecf964c6c49f15af330d81166e99cb5 Mon Sep 17 00:00:00 2001 From: Aren Elchinyan Date: Tue, 7 Nov 2023 22:31:24 +0300 Subject: [PATCH] =?UTF-8?q?=D0=9C=D0=BE=D0=B4=D1=83=D0=BB=D1=8C=20=D0=B4?= =?UTF-8?q?=D0=B0=D0=BD=D0=BD=D1=8B=D1=85=20PCI=20=D0=B4=D0=BE=D0=B1=D0=B0?= =?UTF-8?q?=D0=B2=D0=BB=D0=B5=D0=BD?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- build.sh | 1 + configs/limine.cfg | 3 +++ modules/pci_data/build.sh | 7 +++++++ modules/pci_data/main.c | 18 ++++++++++++++++++ 4 files changed, 29 insertions(+) create mode 100644 modules/pci_data/build.sh create mode 100644 modules/pci_data/main.c diff --git a/build.sh b/build.sh index 6b916a0..1508181 100755 --- a/build.sh +++ b/build.sh @@ -7,5 +7,6 @@ dos2unix */*.sh cd simd/ && chmod +x build.sh && ./build.sh && cd .. cd cpubench/ && chmod +x build.sh && ./build.sh && cd .. cd pci/ && chmod +x build.sh && ./build.sh && cd .. +cd pci_data/ && chmod +x build.sh && ./build.sh && cd .. cd .. python3 pbuild.py \ No newline at end of file diff --git a/configs/limine.cfg b/configs/limine.cfg index e5856d3..1db1875 100644 --- a/configs/limine.cfg +++ b/configs/limine.cfg @@ -25,5 +25,8 @@ TERM_WALLPAPER=boot:///boot.jpg MODULE_PATH=boot:///mod/cpubench.ko MODULE_CMDLINE=[MOD]cpubench.ko + MODULE_PATH=boot:///mod/pci_data.ko + MODULE_CMDLINE=[MOD]pci_data.ko + MODULE_PATH=boot:///mod/pci.ko MODULE_CMDLINE=[MOD]pci.ko \ No newline at end of file diff --git a/modules/pci_data/build.sh b/modules/pci_data/build.sh new file mode 100644 index 0000000..585ffac --- /dev/null +++ b/modules/pci_data/build.sh @@ -0,0 +1,7 @@ +#/bin/sh +echo "Название: список устройств и производителей для PCI" +echo "Лицензия: Публичное достояние" +gcc -I../../modlib -O0 -finput-charset=UTF-8 -fexec-charset=cp1251 -c -fPIC -nostdlib main.c -o pci_data.o +gcc -Wl,--entry=init -fPIC -shared -nostdlib pci_data.o -o pci_data.ko +cp pci_data.ko ../bin/ +echo "Сборка завершена, файл: pci_data.ko" diff --git a/modules/pci_data/main.c b/modules/pci_data/main.c new file mode 100644 index 0000000..4534ca1 --- /dev/null +++ b/modules/pci_data/main.c @@ -0,0 +1,18 @@ +#include + +typedef struct { + char *name; + uint16_t id; +} vendor_t; + +vendor_t vendor_list[] = { { "Intel", 0x8086 }, + { "AMD", 0x1002 }, + { "AMD", 0x1002 } }; + +module_info_t init(env_t *env) { + init_env(env); + return (module_info_t){ .name = (char *)"[PCI][DATA]", + .message = (char *)"PCI данные", + .data_size = 3, + .data = &vendor_list }; +} \ No newline at end of file