Fix SYS_puts.
This commit is contained in:
parent
2989d96266
commit
3c6578cd1b
4
Makefile
4
Makefile
@ -37,8 +37,8 @@ ASMFLAGS = -target elf-i386 -ffreestanding -c -g
|
||||
LDKERNELFLAGS = --script=script.ld
|
||||
endif
|
||||
|
||||
OBJECTS = ./kernel.o ./console.o ./drivers/vga.o ./drivers/uart.o ./drivers/keyboard.o \
|
||||
./cpu/idt.o ./cpu/gdt.o ./cpu/swtch.o ./cpu/vectors.o ./lib/mem.o ./proc.o ./lib/string.o \
|
||||
OBJECTS = ./kernel/kstart.o ./kernel.o ./console.o ./drivers/vga.o ./drivers/uart.o ./drivers/keyboard.o \
|
||||
./cpu/idt.o ./cpu/gdt.o ./cpu/swtch.o ./cpu/vectors.o ./kernel/mem.o ./proc.o ./lib/string.o \
|
||||
./fs/fs.o ./drivers/ata.o ./lib/string.o ./proc.o ./drivers/pit.o ./kernel/vm.o
|
||||
|
||||
run: image.bin
|
||||
|
||||
@ -1,5 +1,6 @@
|
||||
#include "isr.h"
|
||||
#include "gdt.h"
|
||||
#include "memlayout.h"
|
||||
#include "../syscall.h"
|
||||
#include "../proc.h"
|
||||
#include "../drivers/port.h"
|
||||
@ -117,10 +118,11 @@ void trap(registers_t *r) {
|
||||
}
|
||||
|
||||
static void* get_userspace_ptr(uint32_t ptr) {
|
||||
if (ptr >= 0xffffffff - USER_BASE) {
|
||||
if (ptr > KERNBASE) {
|
||||
return 0;
|
||||
}
|
||||
return (void*)(ptr + USER_BASE);
|
||||
// FIXME: check if ptr is mapped and a valid 0-terminated string
|
||||
return (void*)(ptr);
|
||||
}
|
||||
|
||||
static int handle_puts(const char* s) {
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user