Please note that diffs are not public domain; they are subject to the copyright notices on the relevant files. =================================================================== RCS file: /ftp/cvs/cvsroot/src/sys/arch/i386/i386/locore.S,v rcsdiff: /ftp/cvs/cvsroot/src/sys/arch/i386/i386/locore.S,v: warning: Unknown phrases like `commitid ...;' are present. retrieving revision 1.153 retrieving revision 1.155 diff -u -p -r1.153 -r1.155 --- src/sys/arch/i386/i386/locore.S 2017/09/30 11:43:57 1.153 +++ src/sys/arch/i386/i386/locore.S 2018/01/04 13:36:30 1.155 @@ -1,4 +1,4 @@ -/* $NetBSD: locore.S,v 1.153 2017/09/30 11:43:57 maxv Exp $ */ +/* $NetBSD: locore.S,v 1.155 2018/01/04 13:36:30 maxv Exp $ */ /* * Copyright-o-rama! @@ -128,7 +128,7 @@ */ #include -__KERNEL_RCSID(0, "$NetBSD: locore.S,v 1.153 2017/09/30 11:43:57 maxv Exp $"); +__KERNEL_RCSID(0, "$NetBSD: locore.S,v 1.155 2018/01/04 13:36:30 maxv Exp $"); #include "opt_copy_symtab.h" #include "opt_ddb.h" @@ -910,6 +910,7 @@ begin: pushl $0 /* init386() expects a 64 bits paddr_t with PAE */ #endif pushl %esi + call _C_LABEL(init_bootspace) call _C_LABEL(init386) addl $PDE_SIZE,%esp /* pop paddr_t */ call _C_LABEL(main) @@ -1111,7 +1112,8 @@ skip_save: addl $4,%esp #else movl PCB_ESP0(%ebx),%eax - movl %eax,CPUVAR(ESP0) + movl CPUVAR(TSS),%ecx + movl %eax,TSS_ESP0(%ecx) #endif /* Don't bother with the rest if switching to a system process. */ @@ -1135,7 +1137,8 @@ skip_save: movl PCB_IOMAP(%ebx),%eax orl %eax,%eax jnz .Lcopy_iobitmap - movl $(IOMAP_INVALOFF << 16),CPUVAR(IOBASE) + movl CPUVAR(TSS),%eax + movl $(IOMAP_INVALOFF << 16),TSS_IOBASE(%eax) .Liobitmap_done: /* Is this process using RAS (restartable atomic sequences)? */ @@ -1199,13 +1202,14 @@ switch_return: pushl %esi pushl %edi movl %eax,%esi /* pcb_iomap */ - movl CPUVAR(SELF),%edi - leal CPU_INFO_IOMAP(%edi),%edi + movl CPUVAR(TSS),%edi + leal TSS_IOMAP(%edi),%edi rep movsl popl %edi popl %esi - movl $((CPU_INFO_IOMAP - CPU_INFO_TSS) << 16),CPUVAR(IOBASE) + movl CPUVAR(TSS),%eax + movl $((TSS_IOMAP - TSS_TSS) << 16),TSS_IOBASE(%eax) jmp .Liobitmap_done END(cpu_switchto)