[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [Lost] [PATCH] ! Stack ist nach VM86-Syscall nicht mehr ganz so kaputt wie vorher., ! VM86-Tasks koennen jetzt wieder auf BIOS zugreifen., ! vm86test kompiliert wieder.




Hier eine geänderte Version des Patches, jetzt mit Userbits für alle Pagetables.

Mathias
Index: src/kernel/src/mm/paging.c
===================================================================
--- src/kernel/src/mm/paging.c	(Revision 931)
+++ src/kernel/src/mm/paging.c	(Arbeitskopie)
@@ -196,7 +196,7 @@
     if ((page_directory[vpage / PAGE_TABLE_LENGTH] & PTE_P) == 0) {
         page_table = (page_table_t) phys_alloc_page();
         
-        page_directory[vpage / PAGE_TABLE_LENGTH] = ((dword) page_table) | flags/* | PTE_U*/;
+        page_directory[vpage / PAGE_TABLE_LENGTH] = ((dword) page_table) | flags | PTE_U;
         
         if (page_directory == kernel_page_directory) {
             if (!use_phys_page_tables) {
Index: src/modules/c/vm86test/Makefile.all
===================================================================
--- src/modules/c/vm86test/Makefile.all	(Revision 931)
+++ src/modules/c/vm86test/Makefile.all	(Arbeitskopie)
@@ -3,7 +3,6 @@
 
 echo "LD   $1/apps/vm86test"
 
-LOST_TOOLS_LD -ovm86test -Ttext=0x40000000 *.o --start-group $2 --end-group
+$LOST_TOOLS_LD -ovm86test -Ttext=0x40000000 --start-group *.o $2 --end-group
 
-
-mv vm86test $1/apps/
+$LOST_TOOLS_STRIP -s vm86test -o $1/apps/vm86test
Index: src/modules/c/vm86test/main.c
===================================================================
--- src/modules/c/vm86test/main.c	(Revision 931)
+++ src/modules/c/vm86test/main.c	(Arbeitskopie)
@@ -37,7 +37,6 @@
 #include "stdio.h"
 #include "syscall.h"
 
-#define _USE_START_
 #include "init.h"
 
 typedef struct vesa_info_t
Index: src/modules/lib/syscalls/vm86.c
===================================================================
--- src/modules/lib/syscalls/vm86.c	(Revision 931)
+++ src/modules/lib/syscalls/vm86.c	(Arbeitskopie)
@@ -9,6 +9,7 @@
         "pushl %2;"
         "mov %1, %%eax;"
         "int $0x30;"
+        "add $0x8, %%esp;"
     : "=a"(result): "i" (SYSCALL_VM86), "r"(regs), "r"(shm) );
     return (bool)result;
 }
Index: Makefile
===================================================================
--- Makefile	(Revision 931)
+++ Makefile	(Arbeitskopie)
@@ -1,11 +1,11 @@
-CC=gcc -m32 -g -c -fno-stack-protector -nostdinc -fno-leading-underscore -fno-omit-frame-pointer -Wall -Werror -fno-strict-aliasing -O2 -fno-builtin -I .   
+CC=gcc -m32 -g -c -fno-stack-protector -nostdinc -fno-leading-underscore -fno-omit-frame-pointer -Wall -Werror -Wstrict-prototypes -fno-strict-aliasing -O2 -fno-builtin -I .   
 CPP=g++ -m32 -g -c -fno-stack-protector -fno-leading-underscore -fno-omit-frame-pointer -Wall -fno-strict-aliasing -nostdlib -fno-builtin -fno-rtti -fno-exceptions -fno-use-cxa-atexit -O0 
 PPC=fpc -n -Cn -CX -Tlost  -Fu../lib/units -Fu../units
 
 ASM_ELF=nasm -felf -O99 
 ASM_BIN=nasm -fbin -O99
 
-BUILD_ROOT=/home/bluecode/lost/trunk/build/output
+BUILD_ROOT=/shared/projects/lostsvn/build/output
 BUILD_DIR=$(BUILD_ROOT)
 
 AS=as -32