Skip to content

Commit 4714034

Browse files
committed
update
1 parent 71debba commit 4714034

3 files changed

Lines changed: 44 additions & 15 deletions

File tree

scripts/run.sh

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -60,7 +60,7 @@ QEMU_MACHINE=$1
6060

6161
case $QEMU_MACHINE in
6262
isapc-ia32)
63-
QEMU_ARCH=ia32
63+
QEMU_ARCH=i386
6464
CPU_TYPE=486
6565
MACHINE_TYPE=isapc
6666
DEVICES=(
@@ -85,7 +85,7 @@ case $QEMU_MACHINE in
8585
fi
8686
;;
8787
q35-ia32)
88-
QEMU_ARCH=ia32
88+
QEMU_ARCH=i386
8989
MACHINE_TYPE=q35
9090
DEVICES=(
9191
"nvme,drive=fd0,serial=1234"
@@ -112,7 +112,7 @@ case $QEMU_MACHINE in
112112
fi
113113
;;
114114
pc-ia32)
115-
QEMU_ARCH=ia32
115+
QEMU_ARCH=i386
116116
MACHINE_TYPE=pc
117117
DEVICES=(
118118
"ide-hd,bus=ide.0,drive=fd0"

vellum/arch/ia32/pc/bios/init.c

Lines changed: 6 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -91,7 +91,9 @@ static status_t init_pma(void)
9191
base_paddr = 0;
9292
limit_paddr = 0;
9393
do {
94-
VlBiosP_QueryMemoryMap(&smap_cursor, &smap_entry, sizeof(smap_entry));
94+
status = VlBiosP_QueryMemoryMap(&smap_cursor, &smap_entry, sizeof(smap_entry));
95+
if (!CHECK_SUCCESS(status)) return status;
96+
9597
smap_base = (uint64_t)smap_entry.base_addr_high << 32 | smap_entry.base_addr_low;
9698
smap_size = (uint64_t)smap_entry.length_high << 32 | smap_entry.length_low;
9799

@@ -112,7 +114,9 @@ static status_t init_pma(void)
112114
/* mark smaller reserved area inside the previous area */
113115
smap_cursor = 0;
114116
do {
115-
VlBiosP_QueryMemoryMap(&smap_cursor, &smap_entry, sizeof(smap_entry));
117+
status = VlBiosP_QueryMemoryMap(&smap_cursor, &smap_entry, sizeof(smap_entry));
118+
if (!CHECK_SUCCESS(status)) return status;
119+
116120
smap_base = (uint64_t)smap_entry.base_addr_high << 32 | smap_entry.base_addr_low;
117121
smap_size = (uint64_t)smap_entry.length_high << 32 | smap_entry.length_low;
118122

vellum/arch/ia32/pc/bios/isr.c

Lines changed: 35 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -16,16 +16,41 @@
1616

1717
#define MODULE_NAME "isr"
1818

19-
#define DECLARE_ISRxy(x, y) extern void _pc_isr_##x##y(void);
19+
#define DECLARE_ISRxy(x, y) extern void _pc_isr_##x##y(void)
2020
#define DECLARE_ISRx(x) \
21-
DECLARE_ISRxy(x, 0) DECLARE_ISRxy(x, 1) DECLARE_ISRxy(x, 2) DECLARE_ISRxy(x, 3) \
22-
DECLARE_ISRxy(x, 4) DECLARE_ISRxy(x, 5) DECLARE_ISRxy(x, 6) DECLARE_ISRxy(x, 7) \
23-
DECLARE_ISRxy(x, 8) DECLARE_ISRxy(x, 9) DECLARE_ISRxy(x, a) DECLARE_ISRxy(x, b) \
24-
DECLARE_ISRxy(x, c) DECLARE_ISRxy(x, d) DECLARE_ISRxy(x, e) DECLARE_ISRxy(x, f)
25-
26-
DECLARE_ISRx(0) DECLARE_ISRx(1) DECLARE_ISRx(2) DECLARE_ISRx(3) DECLARE_ISRx(4) DECLARE_ISRx(5) DECLARE_ISRx(6) DECLARE_ISRx(
27-
7
28-
) DECLARE_ISRx(8) DECLARE_ISRx(9) DECLARE_ISRx(a) DECLARE_ISRx(b) DECLARE_ISRx(c) DECLARE_ISRx(d) DECLARE_ISRx(e) DECLARE_ISRx(f)
21+
DECLARE_ISRxy(x, 0); \
22+
DECLARE_ISRxy(x, 1); \
23+
DECLARE_ISRxy(x, 2); \
24+
DECLARE_ISRxy(x, 3); \
25+
DECLARE_ISRxy(x, 4); \
26+
DECLARE_ISRxy(x, 5); \
27+
DECLARE_ISRxy(x, 6); \
28+
DECLARE_ISRxy(x, 7); \
29+
DECLARE_ISRxy(x, 8); \
30+
DECLARE_ISRxy(x, 9); \
31+
DECLARE_ISRxy(x, a); \
32+
DECLARE_ISRxy(x, b); \
33+
DECLARE_ISRxy(x, c); \
34+
DECLARE_ISRxy(x, d); \
35+
DECLARE_ISRxy(x, e); \
36+
DECLARE_ISRxy(x, f);
37+
38+
DECLARE_ISRx(0);
39+
DECLARE_ISRx(1);
40+
DECLARE_ISRx(2);
41+
DECLARE_ISRx(3);
42+
DECLARE_ISRx(4);
43+
DECLARE_ISRx(5);
44+
DECLARE_ISRx(6);
45+
DECLARE_ISRx(7);
46+
DECLARE_ISRx(8);
47+
DECLARE_ISRx(9);
48+
DECLARE_ISRx(a);
49+
DECLARE_ISRx(b);
50+
DECLARE_ISRx(c);
51+
DECLARE_ISRx(d);
52+
DECLARE_ISRx(e);
53+
DECLARE_ISRx(f);
2954

3055
#define SET_INT_ENTRY(num) \
3156
_pc_idt[0x##num] = (struct VlA_IdtEntry) \
@@ -41,7 +66,7 @@ DECLARE_ISRx(0) DECLARE_ISRx(1) DECLARE_ISRx(2) DECLARE_ISRx(3) DECLARE_ISRx(4)
4166
.attributes = 0x8F, .offset_high = ((uint32_t)_pc_isr_##num >> 16) & 0xFFFF, \
4267
}
4368

44-
struct VlA_IdtEntry _pc_idt[256];
69+
struct VlA_IdtEntry _pc_idt[256];
4570
struct isr_handler *_pc_isr_table[256];
4671

4772
void VlIntP_Init(void)

0 commit comments

Comments
 (0)