summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorAleksa Vuckovic <aleksa@vuckovic.cc>2023-03-08 23:45:22 +0100
committerAleksa Vuckovic <aleksa@vuckovic.cc>2023-03-08 23:45:22 +0100
commit48a4f607403c074252d3e77b2e0b3c1a8f3b86c7 (patch)
treefab80ddffd89d59835ee7854db84c579e8406e65
parentbd0616e6e76d5b56414a6c77131a9bb63cf5e985 (diff)
wrong usage of map_addr
-rw-r--r--kernel/src/devices/pci.c5
1 files changed, 2 insertions, 3 deletions
diff --git a/kernel/src/devices/pci.c b/kernel/src/devices/pci.c
index 85c7b69..af0308a 100644
--- a/kernel/src/devices/pci.c
+++ b/kernel/src/devices/pci.c
@@ -19,7 +19,8 @@ void read_mcfgt()
}
mcfgt_cfg_addr = (uint64_t)((uint8_t *)mcfgt_addr + sizeof(MCFGT));
- map_addr((uint64_t)mcfgt_addr, (uint64_t)mcfgt_addr, sizeof(MCFGT));
+ map_addr((uint64_t)mcfgt_addr, (uint64_t)mcfgt_addr, FLAG_PRESENT);
+
MCFGT *mcfgt = (MCFGT *)kalloc(sizeof(MCFGT));
memcpy(mcfgt, mcfgt_addr, sizeof(MCFGT));
len = (mcfgt->length - sizeof(MCFGT)) / 16;
@@ -28,8 +29,6 @@ void read_mcfgt()
config_space_mcfgt *cfg_space =
(config_space_mcfgt *)kalloc(sizeof(config_space_mcfgt));
for (i = 0; i < len; i++) {
- map_addr(mcfgt_cfg_addr, mcfgt_cfg_addr,
- sizeof(config_space_mcfgt));
memcpy(cfg_space, (uint64_t *)mcfgt_cfg_addr,
sizeof(config_space_mcfgt));
printf("addr: 0x%x, group: %d, start: %d, stop: %d\n",