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
|
LDKERNELFLAGS = --script=script.ld
|
||||||
endif
|
endif
|
||||||
|
|
||||||
OBJECTS = ./kernel.o ./console.o ./drivers/vga.o ./drivers/uart.o ./drivers/keyboard.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 ./lib/mem.o ./proc.o ./lib/string.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
|
./fs/fs.o ./drivers/ata.o ./lib/string.o ./proc.o ./drivers/pit.o ./kernel/vm.o
|
||||||
|
|
||||||
run: image.bin
|
run: image.bin
|
||||||
|
|||||||
@ -1,5 +1,6 @@
|
|||||||
#include "isr.h"
|
#include "isr.h"
|
||||||
#include "gdt.h"
|
#include "gdt.h"
|
||||||
|
#include "memlayout.h"
|
||||||
#include "../syscall.h"
|
#include "../syscall.h"
|
||||||
#include "../proc.h"
|
#include "../proc.h"
|
||||||
#include "../drivers/port.h"
|
#include "../drivers/port.h"
|
||||||
@ -117,10 +118,11 @@ void trap(registers_t *r) {
|
|||||||
}
|
}
|
||||||
|
|
||||||
static void* get_userspace_ptr(uint32_t ptr) {
|
static void* get_userspace_ptr(uint32_t ptr) {
|
||||||
if (ptr >= 0xffffffff - USER_BASE) {
|
if (ptr > KERNBASE) {
|
||||||
return 0;
|
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) {
|
static int handle_puts(const char* s) {
|
||||||
|
|||||||
Loading…
x
Reference in New Issue
Block a user