Compare commits
3 Commits
fb981bf994
...
21a793d211
| Author | SHA1 | Date |
|---|---|---|
|
|
21a793d211 | |
|
|
42cf96ab80 | |
|
|
cb463cf949 |
|
|
@ -27,11 +27,12 @@ default: bin/$(TARGET)-$(ARCH)
|
||||||
all: $(ARCHES)
|
all: $(ARCHES)
|
||||||
|
|
||||||
$(ARCHES):
|
$(ARCHES):
|
||||||
$(MAKE) ARCH=$@
|
@$(MAKE) ARCH=$@
|
||||||
|
|
||||||
bin/$(TARGET)-$(ARCH): $(OBJ)
|
bin/$(TARGET)-$(ARCH): $(OBJ)
|
||||||
@mkdir -p $(@D)
|
@mkdir -p $(@D)
|
||||||
$(LD) $(LDFLAGS) $(OBJ) -o $@
|
@echo Linking $@
|
||||||
|
@$(LD) $(LDFLAGS) $(OBJ) -o $@
|
||||||
|
|
||||||
obj/$(ARCH)/%.o: src/%.c $(HFILES)
|
obj/$(ARCH)/%.o: src/%.c $(HFILES)
|
||||||
@mkdir -p $(@D)
|
@mkdir -p $(@D)
|
||||||
|
|
|
||||||
|
|
@ -1,9 +1,10 @@
|
||||||
#include "vga.h"
|
#include "vga.h"
|
||||||
#include <hal/ops.h>
|
#include <hal/ops.h>
|
||||||
|
#include <print/print.h>
|
||||||
|
|
||||||
void panic(const char *message, const char *filename, int line) {
|
void panic(const char *message, const char *filename, int line) {
|
||||||
vga_clear(VGA_BLUE);
|
vga_clear(VGA_BLUE);
|
||||||
printf("KernOS kernel panic:\n%s\n", message);
|
printf("KernOS kernel panic:\n%s\n", message);
|
||||||
printf("at %s:%d", filename, line);
|
printf("at %s:%d", filename, line);
|
||||||
halt_catch_fire();
|
halt_catch_fire();
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -19,7 +19,7 @@ void print_stivale2(struct stivale2_struct *info) {
|
||||||
printf("Memmap (%d entries):\n", m->entries);
|
printf("Memmap (%d entries):\n", m->entries);
|
||||||
for (size_t i = 0; i < m->entries; i++) {
|
for (size_t i = 0; i < m->entries; i++) {
|
||||||
struct stivale2_mmap_entry me = m->memmap[i];
|
struct stivale2_mmap_entry me = m->memmap[i];
|
||||||
printf("\t[%x+%h] %x\n", me.base, me.length, me.type);
|
printf("\t[%x+%h] %x\n", (size_t)me.base, (size_t)me.length, me.type);
|
||||||
}
|
}
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -58,4 +58,4 @@ void vga_clear(uint8_t color) {
|
||||||
}
|
}
|
||||||
terminal_row = 0;
|
terminal_row = 0;
|
||||||
terminal_column = 0;
|
terminal_column = 0;
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -22,4 +22,4 @@ void vga_putc(char c);
|
||||||
void vga_puts(const char *c);
|
void vga_puts(const char *c);
|
||||||
void vga_setcolor(uint8_t color);
|
void vga_setcolor(uint8_t color);
|
||||||
void vga_write_elsewhere(const char *c, size_t y, size_t x);
|
void vga_write_elsewhere(const char *c, size_t y, size_t x);
|
||||||
void vga_clear(uint8_t color);
|
void vga_clear(uint8_t color);
|
||||||
|
|
|
||||||
|
|
@ -1,4 +1,4 @@
|
||||||
void halt_catch_fire();
|
void halt_catch_fire();
|
||||||
|
|
||||||
#define PANIC(m) panic(m, __FILE__, __LINE__)
|
#define PANIC(m) panic(m, __FILE__, __LINE__)
|
||||||
void panic(const char *message, const char *filename, int line);
|
void panic(const char *message, const char *filename, int line);
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue