diff --git a/Kernel/Makefile.BuildNum.x86_64 b/Kernel/Makefile.BuildNum.x86_64 index bb5063bd23b934d7bfd48c579a04c3f4f86b872a..16710d2d014d4e5a2187a691485f7983840c746b 100644 --- a/Kernel/Makefile.BuildNum.x86_64 +++ b/Kernel/Makefile.BuildNum.x86_64 @@ -1 +1 @@ -BUILD_NUM = 210 +BUILD_NUM = 213 diff --git a/Kernel/arch/x86_64/Makefile b/Kernel/arch/x86_64/Makefile index c4260b515df24d61952449b066843d51733d8bfd..d0d4f84861e3a8a4a134564b60c74b0d0d1616b4 100644 --- a/Kernel/arch/x86_64/Makefile +++ b/Kernel/arch/x86_64/Makefile @@ -21,8 +21,10 @@ else endif -A_OBJ = start32.ao start64.ao desctab.ao -A_OBJ += main.o lib.o proc.o mm_virt.o mm_phys.o vm8086.o +A_OBJ := start32.ao start64.ao desctab.ao +A_OBJ += main.o lib.o proc.o mm_virt.o mm_phys.o A_OBJ += kernelpanic.o errors.o +A_OBJ += vm8086.o +# rme.o POSTBUILD = objcopy $(BIN) -F elf32-i386 $(BIN) diff --git a/Kernel/arch/x86_64/lib.c b/Kernel/arch/x86_64/lib.c index dcd6ec3a4b7badfe99cec25cbfa3e60c00ea429c..f7f38c8ba08a4f98e5379e78a27aa46fe9e682e6 100644 --- a/Kernel/arch/x86_64/lib.c +++ b/Kernel/arch/x86_64/lib.c @@ -58,7 +58,7 @@ void SHORTLOCK(struct sShortSpinlock *Lock) #if LOCK_DISABLE_INTS // Save interrupt state and clear interrupts - __ASM__ ("pushf;\n\tpop %%eax\n\tcli" : "=a"(IF)); + __ASM__ ("pushf;\n\tpop %0\n\tcli" : "=a"(IF)); IF &= 0x200; // AND out all but the interrupt flag #endif @@ -90,7 +90,7 @@ void SHORTLOCK(struct sShortSpinlock *Lock) : "a"(0), "r"(thread), "r"(&Lock->Lock) ); #else - __ASM__("xchgl %%eax, (%%edi)":"=a"(v):"a"(1),"D"(&Lock->Lock)); + __ASM__("xchgl %0, (%2)":"=a"(v):"a"(1),"D"(&Lock->Lock)); #endif } diff --git a/Kernel/arch/x86_64/vm8086.c b/Kernel/arch/x86_64/vm8086.c index 1459c73e9ac4f3ef62cf3a7d1794da5ea06b0ce1..40860c8ff40c715755954852e8117feacb8df424 100644 --- a/Kernel/arch/x86_64/vm8086.c +++ b/Kernel/arch/x86_64/vm8086.c @@ -3,6 +3,7 @@ #include <acess.h> #include <vm8086.h> #include <modules.h> +//#include "rme.h" // === CONSTANTS === #define VM8086_STACK_SEG 0x9F00 @@ -17,6 +18,7 @@ void VM8086_Free(tVM8086 *State); // === GLOBALS === MODULE_DEFINE(0, 0x100, VM8086, VM8086_Install, NULL, NULL); tMutex glVM8086_Process; +//tRME_State *gpVM8086_State; tPID gVM8086_WorkerPID; tTID gVM8086_CallingThread; tVM8086 volatile * volatile gpVM8086_State = (void*)-1; // Set to -1 to avoid race conditions @@ -24,6 +26,7 @@ tVM8086 volatile * volatile gpVM8086_State = (void*)-1; // Set to -1 to avoid ra // === CODE === int VM8086_Install(char **Arguments) { + //gpVM8086_State = RME_CreateState(); return MODULE_ERR_OK; } diff --git a/Kernel/lib.c b/Kernel/lib.c index 2ce5c980a728c0990944932a75e3b0d3a52c3e59..d388050ade9b8943813014a1d33e169c510f30b3 100644 --- a/Kernel/lib.c +++ b/Kernel/lib.c @@ -215,7 +215,7 @@ int vsnprintf(char *__s, size_t __maxlen, const char *__format, va_list args) } // Get Argument - val = va_arg(args, Uint); + val = va_arg(args, unsigned int); // - Padding Side Flag if(c == '+') { @@ -234,7 +234,7 @@ int vsnprintf(char *__s, size_t __maxlen, const char *__format, va_list args) // - Minimum length if(c == '*') { // Dynamic length minSize = val; - val = va_arg(args, Uint); + val = va_arg(args, unsigned int); c = *__format++; } else if('1' <= c && c <= '9')