Module Name: src Committed By: maxv Date: Sun Nov 22 13:41:24 UTC 2015
Modified Files: src/sys/arch/amd64/amd64: amd64_trap.S autoconf.c bios32.c gdt.c kgdb_machdep.c linux32_sigcode.S machdep.c mptramp.S netbsd32_machdep.c spl.S trap.c vector.S Log Message: KNF a bit, so I don't get scared each time I open a file To generate a diff of this commit: cvs rdiff -u -r1.2 -r1.3 src/sys/arch/amd64/amd64/amd64_trap.S \ src/sys/arch/amd64/amd64/linux32_sigcode.S cvs rdiff -u -r1.24 -r1.25 src/sys/arch/amd64/amd64/autoconf.c cvs rdiff -u -r1.20 -r1.21 src/sys/arch/amd64/amd64/bios32.c cvs rdiff -u -r1.25 -r1.26 src/sys/arch/amd64/amd64/gdt.c cvs rdiff -u -r1.9 -r1.10 src/sys/arch/amd64/amd64/kgdb_machdep.c cvs rdiff -u -r1.213 -r1.214 src/sys/arch/amd64/amd64/machdep.c cvs rdiff -u -r1.17 -r1.18 src/sys/arch/amd64/amd64/mptramp.S cvs rdiff -u -r1.93 -r1.94 src/sys/arch/amd64/amd64/netbsd32_machdep.c cvs rdiff -u -r1.29 -r1.30 src/sys/arch/amd64/amd64/spl.S cvs rdiff -u -r1.80 -r1.81 src/sys/arch/amd64/amd64/trap.c cvs rdiff -u -r1.44 -r1.45 src/sys/arch/amd64/amd64/vector.S Please note that diffs are not public domain; they are subject to the copyright notices on the relevant files.
Modified files: Index: src/sys/arch/amd64/amd64/amd64_trap.S diff -u src/sys/arch/amd64/amd64/amd64_trap.S:1.2 src/sys/arch/amd64/amd64/amd64_trap.S:1.3 --- src/sys/arch/amd64/amd64/amd64_trap.S:1.2 Wed Feb 12 19:53:49 2014 +++ src/sys/arch/amd64/amd64/amd64_trap.S Sun Nov 22 13:41:24 2015 @@ -1,4 +1,4 @@ -/* $NetBSD: amd64_trap.S,v 1.2 2014/02/12 19:53:49 dsl Exp $ */ +/* $NetBSD: amd64_trap.S,v 1.3 2015/11/22 13:41:24 maxv Exp $ */ /*- * Copyright (c) 1998, 2007, 2008 The NetBSD Foundation, Inc. @@ -66,7 +66,7 @@ #if 0 #include <machine/asm.h> -__KERNEL_RCSID(0, "$NetBSD: amd64_trap.S,v 1.2 2014/02/12 19:53:49 dsl Exp $"); +__KERNEL_RCSID(0, "$NetBSD: amd64_trap.S,v 1.3 2015/11/22 13:41:24 maxv Exp $"); #endif /* @@ -144,7 +144,7 @@ IDTVEC(trap03) #else ZTRAP_NJ(T_BPTFLT) INTRENTRY - STI(si) + STI(si) /* * DTrace Function Boundary Trace (fbt) probes are triggered * by int3 (0xcc). @@ -378,7 +378,7 @@ END(trap_return_fault_return) */ NENTRY(alltraps) INTRENTRY - STI(si) + STI(si) calltrap: #ifdef DIAGNOSTIC @@ -393,11 +393,11 @@ calltrap: .Lalltraps_checkast: movq CPUVAR(CURLWP),%r14 /* Check for ASTs on exit to user mode. */ - CLI(si) + CLI(si) CHECK_ASTPENDING(%r14) je 3f CLEAR_ASTPENDING(%r14) - STI(si) + STI(si) movl $T_ASTFLT,TF_TRAPNO(%rsp) movq %rsp,%rdi incq CPUVAR(NTRAP) @@ -411,7 +411,7 @@ calltrap: 6: cmpl CPUVAR(ILEVEL),%ebx jne 3f INTRFASTEXIT -3: STI(si) +3: STI(si) movabsq $4f,%rdi movl CPUVAR(ILEVEL),%esi movl %ebx,%edx Index: src/sys/arch/amd64/amd64/linux32_sigcode.S diff -u src/sys/arch/amd64/amd64/linux32_sigcode.S:1.2 src/sys/arch/amd64/amd64/linux32_sigcode.S:1.3 --- src/sys/arch/amd64/amd64/linux32_sigcode.S:1.2 Mon Aug 1 22:21:01 2011 +++ src/sys/arch/amd64/amd64/linux32_sigcode.S Sun Nov 22 13:41:24 2015 @@ -1,28 +1,28 @@ -/* $NetBSD: linux32_sigcode.S,v 1.2 2011/08/01 22:21:01 joerg Exp $ */ +/* $NetBSD: linux32_sigcode.S,v 1.3 2015/11/22 13:41:24 maxv Exp $ */ #include "assym.h" #include <machine/asm.h> .code32 NENTRY(linux32_sigcode) - call *LINUX32_SF_HANDLER(%esp) - leal LINUX32_SF_SC(%esp),%ebx # scp - pushl %eax - movl $LINUX32_SYS_sigreturn,%eax - int $0x80 - movl $LINUX32_SYS_exit,%eax - int $0x80 - - .balign 16 + call *LINUX32_SF_HANDLER(%esp) + leal LINUX32_SF_SC(%esp),%ebx # scp + pushl %eax + movl $LINUX32_SYS_sigreturn,%eax + int $0x80 + movl $LINUX32_SYS_exit,%eax + int $0x80 + + .balign 16 NENTRY(linux32_rt_sigcode) - call *LINUX32_RT_SF_HANDLER(%esp) - leal LINUX32_RT_SF_UC(%esp),%ebx # scp - pushl %eax - movl $LINUX32_SYS_rt_sigreturn,%eax - int $0x80 - movl $LINUX32_SYS_exit,%eax - int $0x80 - .balign 16 - .globl _C_LABEL(linux32_esigcode) -_C_LABEL(linux32_esigcode): + call *LINUX32_RT_SF_HANDLER(%esp) + leal LINUX32_RT_SF_UC(%esp),%ebx # scp + pushl %eax + movl $LINUX32_SYS_rt_sigreturn,%eax + int $0x80 + movl $LINUX32_SYS_exit,%eax + int $0x80 + .balign 16 + .globl _C_LABEL(linux32_esigcode) +_C_LABEL(linux32_esigcode): Index: src/sys/arch/amd64/amd64/autoconf.c diff -u src/sys/arch/amd64/amd64/autoconf.c:1.24 src/sys/arch/amd64/amd64/autoconf.c:1.25 --- src/sys/arch/amd64/amd64/autoconf.c:1.24 Thu Nov 8 02:00:44 2012 +++ src/sys/arch/amd64/amd64/autoconf.c Sun Nov 22 13:41:24 2015 @@ -1,4 +1,4 @@ -/* $NetBSD: autoconf.c,v 1.24 2012/11/08 02:00:44 chs Exp $ */ +/* $NetBSD: autoconf.c,v 1.25 2015/11/22 13:41:24 maxv Exp $ */ /*- * Copyright (c) 1990 The Regents of the University of California. @@ -46,7 +46,7 @@ */ #include <sys/cdefs.h> -__KERNEL_RCSID(0, "$NetBSD: autoconf.c,v 1.24 2012/11/08 02:00:44 chs Exp $"); +__KERNEL_RCSID(0, "$NetBSD: autoconf.c,v 1.25 2015/11/22 13:41:24 maxv Exp $"); #include "opt_multiprocessor.h" #include "opt_intrdebug.h" @@ -86,7 +86,6 @@ extern void platform_init(void); void cpu_configure(void) { - startrtclock(); #if NBIOS32 > 0 Index: src/sys/arch/amd64/amd64/bios32.c diff -u src/sys/arch/amd64/amd64/bios32.c:1.20 src/sys/arch/amd64/amd64/bios32.c:1.21 --- src/sys/arch/amd64/amd64/bios32.c:1.20 Sat Feb 25 00:13:28 2012 +++ src/sys/arch/amd64/amd64/bios32.c Sun Nov 22 13:41:24 2015 @@ -1,4 +1,4 @@ -/* $NetBSD: bios32.c,v 1.20 2012/02/25 00:13:28 joerg Exp $ */ +/* $NetBSD: bios32.c,v 1.21 2015/11/22 13:41:24 maxv Exp $ */ /*- * Copyright (c) 1999 The NetBSD Foundation, Inc. @@ -60,7 +60,7 @@ */ #include <sys/cdefs.h> -__KERNEL_RCSID(0, "$NetBSD: bios32.c,v 1.20 2012/02/25 00:13:28 joerg Exp $"); +__KERNEL_RCSID(0, "$NetBSD: bios32.c,v 1.21 2015/11/22 13:41:24 maxv Exp $"); #include <sys/param.h> #include <sys/systm.h> @@ -171,7 +171,7 @@ bios32_init(void) smbios_entry.min = sh->minrev; smbios_entry.count = sh->count; - for (; pa < end; pa+= NBPG, eva+= NBPG) + for (; pa < end; pa+= NBPG, eva+= NBPG) #ifdef XEN pmap_kenter_ma(eva, pa, VM_PROT_READ, 0); #else Index: src/sys/arch/amd64/amd64/gdt.c diff -u src/sys/arch/amd64/amd64/gdt.c:1.25 src/sys/arch/amd64/amd64/gdt.c:1.26 --- src/sys/arch/amd64/amd64/gdt.c:1.25 Wed Oct 16 18:07:56 2013 +++ src/sys/arch/amd64/amd64/gdt.c Sun Nov 22 13:41:24 2015 @@ -1,4 +1,4 @@ -/* $NetBSD: gdt.c,v 1.25 2013/10/16 18:07:56 christos Exp $ */ +/* $NetBSD: gdt.c,v 1.26 2015/11/22 13:41:24 maxv Exp $ */ /*- * Copyright (c) 1996, 1997, 2009 The NetBSD Foundation, Inc. @@ -37,7 +37,7 @@ */ #include <sys/cdefs.h> -__KERNEL_RCSID(0, "$NetBSD: gdt.c,v 1.25 2013/10/16 18:07:56 christos Exp $"); +__KERNEL_RCSID(0, "$NetBSD: gdt.c,v 1.26 2015/11/22 13:41:24 maxv Exp $"); #include "opt_multiprocessor.h" #include "opt_xen.h" @@ -55,7 +55,7 @@ __KERNEL_RCSID(0, "$NetBSD: gdt.c,v 1.25 #ifdef XEN #include <xen/hypervisor.h> -#endif +#endif int gdt_size; /* size of GDT in bytes */ int gdt_dyncount; /* number of dyn. allocated GDT entries in use */ @@ -99,13 +99,13 @@ set_sys_gdt(int slot, void *base, size_t struct cpu_info *ci; int idx; - set_sys_segment(&d.sd, base, limit, type, dpl, gran); + set_sys_segment(&d.sd, base, limit, type, dpl, gran); idx = IDXSEL(GDYNSEL(slot, SEL_KPL)); - for (CPU_INFO_FOREACH(cii, ci)) { - KASSERT(ci->ci_gdt != NULL); + for (CPU_INFO_FOREACH(cii, ci)) { + KASSERT(ci->ci_gdt != NULL); update_descriptor(&ci->ci_gdt[idx + 0], &d.bits[0]); update_descriptor(&ci->ci_gdt[idx + 1], &d.bits[1]); - } + } } /* Index: src/sys/arch/amd64/amd64/kgdb_machdep.c diff -u src/sys/arch/amd64/amd64/kgdb_machdep.c:1.9 src/sys/arch/amd64/amd64/kgdb_machdep.c:1.10 --- src/sys/arch/amd64/amd64/kgdb_machdep.c:1.9 Sun Jul 26 10:49:05 2015 +++ src/sys/arch/amd64/amd64/kgdb_machdep.c Sun Nov 22 13:41:24 2015 @@ -1,4 +1,4 @@ -/* $NetBSD: kgdb_machdep.c,v 1.9 2015/07/26 10:49:05 mrg Exp $ */ +/* $NetBSD: kgdb_machdep.c,v 1.10 2015/11/22 13:41:24 maxv Exp $ */ /*- * Copyright (c) 1997 The NetBSD Foundation, Inc. @@ -56,7 +56,7 @@ */ #include <sys/cdefs.h> -__KERNEL_RCSID(0, "$NetBSD: kgdb_machdep.c,v 1.9 2015/07/26 10:49:05 mrg Exp $"); +__KERNEL_RCSID(0, "$NetBSD: kgdb_machdep.c,v 1.10 2015/11/22 13:41:24 maxv Exp $"); #include "opt_ddb.h" @@ -110,7 +110,7 @@ kgdb_entry_notice(int type, db_regs_t *r * Translate a trap number into a unix compatible signal value. * (gdb only understands unix signal numbers). */ -int +int kgdb_signal(int type) { switch (type) { @@ -208,7 +208,7 @@ kgdb_setregs(db_regs_t *regs, kgdb_reg_t regs->tf_rflags = gdb_regs[17]; regs->tf_cs = gdb_regs[18]; regs->tf_ss = gdb_regs[19]; -} +} /* * Trap into kgdb to wait for debugger to connect, Index: src/sys/arch/amd64/amd64/machdep.c diff -u src/sys/arch/amd64/amd64/machdep.c:1.213 src/sys/arch/amd64/amd64/machdep.c:1.214 --- src/sys/arch/amd64/amd64/machdep.c:1.213 Wed Jul 15 04:10:02 2015 +++ src/sys/arch/amd64/amd64/machdep.c Sun Nov 22 13:41:24 2015 @@ -1,4 +1,4 @@ -/* $NetBSD: machdep.c,v 1.213 2015/07/15 04:10:02 msaitoh Exp $ */ +/* $NetBSD: machdep.c,v 1.214 2015/11/22 13:41:24 maxv Exp $ */ /*- * Copyright (c) 1996, 1997, 1998, 2000, 2006, 2007, 2008, 2011 @@ -111,7 +111,7 @@ */ #include <sys/cdefs.h> -__KERNEL_RCSID(0, "$NetBSD: machdep.c,v 1.213 2015/07/15 04:10:02 msaitoh Exp $"); +__KERNEL_RCSID(0, "$NetBSD: machdep.c,v 1.214 2015/11/22 13:41:24 maxv Exp $"); /* #define XENDEBUG_LOW */ @@ -1552,7 +1552,6 @@ init_x86_64(paddr_t first_avail) cpu_init_msrs(&cpu_info_primary, true); - use_pae = 1; /* PAE always enabled in long mode */ #ifdef XEN @@ -1590,7 +1589,6 @@ init_x86_64(paddr_t first_avail) avail_start = 8 * PAGE_SIZE; #if !defined(REALBASEMEM) && !defined(REALEXTMEM) - /* * Check to see if we have a memory map from the BIOS (passed * to us by the boot program. @@ -1598,7 +1596,6 @@ init_x86_64(paddr_t first_avail) bim = lookup_bootinfo(BTINFO_MEMMAP); if (bim != NULL && bim->num > 0) initx86_parse_memmap(bim, iomem_ex); - #endif /* ! REALBASEMEM && ! REALEXTMEM */ /* @@ -1632,7 +1629,6 @@ init_x86_64(paddr_t first_avail) #ifndef XEN initx86_load_memmap(first_avail); - #else /* XEN */ kern_end = KERNBASE + first_avail; physmem = xen_start_info.nr_pages; @@ -1707,7 +1703,6 @@ init_x86_64(paddr_t first_avail) /* * 32 bit GDT entries. */ - set_mem_segment(GDT_ADDR_MEM(gdtstore, GUCODE32_SEL), 0, x86_btop(VM_MAXUSER_ADDRESS32) - 1, SDT_MEMERA, SEL_UPL, 1, 1, 0); Index: src/sys/arch/amd64/amd64/mptramp.S diff -u src/sys/arch/amd64/amd64/mptramp.S:1.17 src/sys/arch/amd64/amd64/mptramp.S:1.18 --- src/sys/arch/amd64/amd64/mptramp.S:1.17 Wed Jan 15 22:24:41 2014 +++ src/sys/arch/amd64/amd64/mptramp.S Sun Nov 22 13:41:24 2015 @@ -1,4 +1,4 @@ -/* $NetBSD: mptramp.S,v 1.17 2014/01/15 22:24:41 joerg Exp $ */ +/* $NetBSD: mptramp.S,v 1.18 2015/11/22 13:41:24 maxv Exp $ */ /*- * Copyright (c) 2000 The NetBSD Foundation, Inc. @@ -69,10 +69,10 @@ * * We startup the processors now when the kthreads become ready. * The steps are: - * 1) Get the processors running kernel-code from a special - * page-table and stack page, do chip identification. - * 2) halt the processors waiting for them to be enabled - * by a idle-thread + * 1) Get the processors running kernel-code from a special + * page-table and stack page, do chip identification. + * 2) halt the processors waiting for them to be enabled + * by a idle-thread */ #include "opt_mpbios.h" /* for MPDEBUG */ @@ -120,40 +120,40 @@ /* XXX ENTRY() */ LABEL(cpu_spinup_trampoline) cli - xorw %ax,%ax - movw %ax, %ds - movw %ax, %es - movw %ax, %ss + xorw %ax,%ax + movw %ax,%ds + movw %ax,%es + movw %ax,%ss #ifdef __clang__ - lgdt (mptramp_gdt32_desc) # load flat descriptor table + lgdt (mptramp_gdt32_desc) # load flat descriptor table #else data32 addr32 lgdt (mptramp_gdt32_desc) # load flat descriptor table #endif - movl %cr0, %eax # get cr0 - orl $0x1, %eax # enable protected mode - movl %eax, %cr0 # doit - ljmpl $0x8, $mp_startup + movl %cr0, %eax # get cr0 + orl $0x1, %eax # enable protected mode + movl %eax, %cr0 # doit + ljmpl $0x8, $mp_startup _TRMP_LABEL(mp_startup) .code32 - movl $0x10, %eax # data segment - movw %ax, %ds - movw %ax, %ss - movw %ax, %es - movw %ax, %fs - movw %ax, %gs - - movl $ (MP_TRAMPOLINE+NBPG-16),%esp # bootstrap stack end, - # with scratch space.. - + movl $0x10, %eax # data segment + movw %ax, %ds + movw %ax, %ss + movw %ax, %es + movw %ax, %fs + movw %ax, %gs + + /* bootstrap stack end, with scratch space.. */ + movl $(MP_TRAMPOLINE+NBPG-16),%esp + #ifdef MPDEBUG - leal RELOC(cpu_trace),%edi + leal RELOC(cpu_trace),%edi #endif HALT(0x1) /* First, reset the PSL. */ - pushl $PSL_MBO + pushl $PSL_MBO popfl movl %cr4,%eax @@ -172,18 +172,18 @@ _TRMP_LABEL(mp_startup) wrmsr movl RELOC(mp_pdirpa),%ecx # guaranteed < 4G - movl %ecx,%cr3 # load ptd addr into mmu + movl %ecx,%cr3 # load ptd addr into mmu - movl %cr0,%eax # get control word - orl $(CR0_PE|CR0_PG|CR0_NE|CR0_TS|CR0_MP|CR0_WP|CR0_AM),%eax - movl %eax,%cr0 + movl %cr0,%eax # get control word + orl $(CR0_PE|CR0_PG|CR0_NE|CR0_TS|CR0_MP|CR0_WP|CR0_AM),%eax + movl %eax,%cr0 jmp mptramp_compat mptramp_compat: - movl $GSEL(GDATA_SEL, SEL_KPL),%eax #switch to new segment - movl %eax,%ds - movl %eax,%es - movl %eax,%ss + movl $GSEL(GDATA_SEL, SEL_KPL),%eax #switch to new segment + movl %eax,%ds + movl %eax,%es + movl %eax,%ss movl $mptramp_gdt64_desc,%eax lgdt (%eax) @@ -216,7 +216,7 @@ _TRMP_LABEL(mptramp_longmode) movabsq $_C_LABEL(cpu_spinup_trampoline_end),%rax jmp *%rax - + _C_LABEL(cpu_spinup_trampoline_end): #end of code copied to MP_TRAMPOLINE /* * If EFER_NXE is not enabled, fetching a page with a NX bit set @@ -239,7 +239,7 @@ _C_LABEL(cpu_spinup_trampoline_end): #en movq CPU_INFO_IDLELWP(%rdi),%rsi movq L_PCB(%rsi),%rsi - + movq PCB_RSP(%rsi),%rsp movq PCB_RBP(%rsi),%rbp @@ -247,23 +247,23 @@ _C_LABEL(cpu_spinup_trampoline_end): #en movw $(MAXGDTSIZ-1),-10(%rsp) movq %rax,-8(%rsp) lgdt -10(%rsp) - + /* Switch address space. */ movq PCB_CR3(%rsi),%rax movq %rax,%cr3 - movl PCB_CR0(%rsi),%eax - movq %rax,%cr0 + movl PCB_CR0(%rsi),%eax + movq %rax,%cr0 call _C_LABEL(cpu_hatch) END(cpu_spinup_trampoline) - + .data LABEL(mp_pdirpa) .quad 0 END(mp_pdirpa) #ifdef MPDEBUG LABEL(cpu_trace) - .quad 0x40 - .quad 0xff - .quad 0xff + .quad 0x40 + .quad 0xff + .quad 0xff END(cpu_trace) #endif Index: src/sys/arch/amd64/amd64/netbsd32_machdep.c diff -u src/sys/arch/amd64/amd64/netbsd32_machdep.c:1.93 src/sys/arch/amd64/amd64/netbsd32_machdep.c:1.94 --- src/sys/arch/amd64/amd64/netbsd32_machdep.c:1.93 Sun Dec 14 21:27:49 2014 +++ src/sys/arch/amd64/amd64/netbsd32_machdep.c Sun Nov 22 13:41:24 2015 @@ -1,4 +1,4 @@ -/* $NetBSD: netbsd32_machdep.c,v 1.93 2014/12/14 21:27:49 christos Exp $ */ +/* $NetBSD: netbsd32_machdep.c,v 1.94 2015/11/22 13:41:24 maxv Exp $ */ /* * Copyright (c) 2001 Wasabi Systems, Inc. @@ -36,7 +36,7 @@ */ #include <sys/cdefs.h> -__KERNEL_RCSID(0, "$NetBSD: netbsd32_machdep.c,v 1.93 2014/12/14 21:27:49 christos Exp $"); +__KERNEL_RCSID(0, "$NetBSD: netbsd32_machdep.c,v 1.94 2015/11/22 13:41:24 maxv Exp $"); #ifdef _KERNEL_OPT #include "opt_compat_netbsd.h" @@ -933,10 +933,10 @@ cpu_mcontext32_validate(struct lwp *l, c vaddr_t netbsd32_vm_default_addr(struct proc *p, vaddr_t base, vsize_t sz) { - if (p->p_vmspace->vm_map.flags & VM_MAP_TOPDOWN) - return VM_DEFAULT_ADDRESS32_TOPDOWN(base, sz); - else - return VM_DEFAULT_ADDRESS32_BOTTOMUP(base, sz); + if (p->p_vmspace->vm_map.flags & VM_MAP_TOPDOWN) + return VM_DEFAULT_ADDRESS32_TOPDOWN(base, sz); + else + return VM_DEFAULT_ADDRESS32_BOTTOMUP(base, sz); } #ifdef COMPAT_13 Index: src/sys/arch/amd64/amd64/spl.S diff -u src/sys/arch/amd64/amd64/spl.S:1.29 src/sys/arch/amd64/amd64/spl.S:1.30 --- src/sys/arch/amd64/amd64/spl.S:1.29 Thu Nov 27 04:48:39 2014 +++ src/sys/arch/amd64/amd64/spl.S Sun Nov 22 13:41:24 2015 @@ -1,4 +1,4 @@ -/* $NetBSD: spl.S,v 1.29 2014/11/27 04:48:39 uebayasi Exp $ */ +/* $NetBSD: spl.S,v 1.30 2015/11/22 13:41:24 maxv Exp $ */ /* * Copyright (c) 2003 Wasabi Systems, Inc. @@ -166,7 +166,7 @@ END(Xpreemptrecurse) IDTVEC(preemptresume) movl $IPL_PREEMPT, CPUVAR(ILEVEL) sti - testq $SEL_RPL, TF_CS(%rsp) + testq $SEL_RPL, TF_CS(%rsp) jnz 1f movq TF_RIP(%rsp), %rdi call _C_LABEL(kpreempt) # from kernel @@ -320,14 +320,14 @@ IDTVEC(doreti) CLI(si) andl CPUVAR(IPENDING),%eax jz 2f - bsrl %eax,%eax # slow, but not worth optimizing - btrl %eax,CPUVAR(IPENDING) + bsrl %eax,%eax # slow, but not worth optimizing + btrl %eax,CPUVAR(IPENDING) movq CPUVAR(ISOURCES)(,%rax, 8),%rax jmp *IS_RESUME(%rax) 2: /* Check for ASTs on exit to user mode. */ movl %ebx,CPUVAR(ILEVEL) 5: - testb $SEL_RPL,TF_CS(%rsp) + testb $SEL_RPL,TF_CS(%rsp) jz 6f .type _C_LABEL(doreti_checkast), @function Index: src/sys/arch/amd64/amd64/trap.c diff -u src/sys/arch/amd64/amd64/trap.c:1.80 src/sys/arch/amd64/amd64/trap.c:1.81 --- src/sys/arch/amd64/amd64/trap.c:1.80 Fri Feb 27 15:35:10 2015 +++ src/sys/arch/amd64/amd64/trap.c Sun Nov 22 13:41:24 2015 @@ -1,4 +1,4 @@ -/* $NetBSD: trap.c,v 1.80 2015/02/27 15:35:10 christos Exp $ */ +/* $NetBSD: trap.c,v 1.81 2015/11/22 13:41:24 maxv Exp $ */ /*- * Copyright (c) 1998, 2000 The NetBSD Foundation, Inc. @@ -68,7 +68,7 @@ */ #include <sys/cdefs.h> -__KERNEL_RCSID(0, "$NetBSD: trap.c,v 1.80 2015/02/27 15:35:10 christos Exp $"); +__KERNEL_RCSID(0, "$NetBSD: trap.c,v 1.81 2015/11/22 13:41:24 maxv Exp $"); #include "opt_ddb.h" #include "opt_kgdb.h" @@ -745,7 +745,7 @@ frame_dump(struct trapframe *tf) printf("cs %lx ds %lx es %lx fs %lx gs %lx ss %lx\n", tf->tf_cs & 0xffff, tf->tf_ds & 0xffff, tf->tf_es & 0xffff, tf->tf_fs & 0xffff, tf->tf_gs & 0xffff, tf->tf_ss & 0xffff); - + printf("\n"); printf("Stack dump:\n"); for (i = 0, p = (unsigned long *) tf; i < 20; i ++, p += 4) Index: src/sys/arch/amd64/amd64/vector.S diff -u src/sys/arch/amd64/amd64/vector.S:1.44 src/sys/arch/amd64/amd64/vector.S:1.45 --- src/sys/arch/amd64/amd64/vector.S:1.44 Tue Jun 25 00:27:22 2013 +++ src/sys/arch/amd64/amd64/vector.S Sun Nov 22 13:41:24 2015 @@ -1,4 +1,4 @@ -/* $NetBSD: vector.S,v 1.44 2013/06/25 00:27:22 uebayasi Exp $ */ +/* $NetBSD: vector.S,v 1.45 2015/11/22 13:41:24 maxv Exp $ */ /*- * Copyright (c) 1998, 2007, 2008 The NetBSD Foundation, Inc. @@ -139,7 +139,7 @@ IDTVEC(resume_lapic_ipi) 1: incl CPUVAR(IDEPTH) movl $IPL_HIGH,CPUVAR(ILEVEL) - sti + sti pushq %rbx call _C_LABEL(x86_ipi_handler) jmp _C_LABEL(Xdoreti) @@ -646,49 +646,49 @@ XENINTRSTUB(xenev,28,voidop,voidop,voido XENINTRSTUB(xenev,29,voidop,voidop,voidop,hypervisor_asm_unmask,voidop) XENINTRSTUB(xenev,30,voidop,voidop,voidop,hypervisor_asm_unmask,voidop) XENINTRSTUB(xenev,31,voidop,voidop,voidop,hypervisor_asm_unmask,voidop) - + LABEL(xenev_stubs) - .quad _C_LABEL(Xrecurse_xenev0), _C_LABEL(Xresume_xenev0) - .quad _C_LABEL(Xrecurse_xenev1) ,_C_LABEL(Xresume_xenev1) - .quad _C_LABEL(Xrecurse_xenev2) ,_C_LABEL(Xresume_xenev2) - .quad _C_LABEL(Xrecurse_xenev3) ,_C_LABEL(Xresume_xenev3) - .quad _C_LABEL(Xrecurse_xenev4) ,_C_LABEL(Xresume_xenev4) - .quad _C_LABEL(Xrecurse_xenev5) ,_C_LABEL(Xresume_xenev5) - .quad _C_LABEL(Xrecurse_xenev6) ,_C_LABEL(Xresume_xenev6) - .quad _C_LABEL(Xrecurse_xenev7) ,_C_LABEL(Xresume_xenev7) - .quad _C_LABEL(Xrecurse_xenev8) ,_C_LABEL(Xresume_xenev8) - .quad _C_LABEL(Xrecurse_xenev9) ,_C_LABEL(Xresume_xenev9) - .quad _C_LABEL(Xrecurse_xenev10), _C_LABEL(Xresume_xenev10) - .quad _C_LABEL(Xrecurse_xenev11), _C_LABEL(Xresume_xenev11) - .quad _C_LABEL(Xrecurse_xenev12), _C_LABEL(Xresume_xenev12) - .quad _C_LABEL(Xrecurse_xenev13), _C_LABEL(Xresume_xenev13) - .quad _C_LABEL(Xrecurse_xenev14), _C_LABEL(Xresume_xenev14) - .quad _C_LABEL(Xrecurse_xenev15), _C_LABEL(Xresume_xenev15) - .quad _C_LABEL(Xrecurse_xenev16), _C_LABEL(Xresume_xenev16) - .quad _C_LABEL(Xrecurse_xenev17), _C_LABEL(Xresume_xenev17) - .quad _C_LABEL(Xrecurse_xenev18), _C_LABEL(Xresume_xenev18) - .quad _C_LABEL(Xrecurse_xenev19), _C_LABEL(Xresume_xenev19) - .quad _C_LABEL(Xrecurse_xenev20), _C_LABEL(Xresume_xenev20) - .quad _C_LABEL(Xrecurse_xenev21), _C_LABEL(Xresume_xenev21) - .quad _C_LABEL(Xrecurse_xenev22), _C_LABEL(Xresume_xenev22) - .quad _C_LABEL(Xrecurse_xenev23), _C_LABEL(Xresume_xenev23) - .quad _C_LABEL(Xrecurse_xenev24), _C_LABEL(Xresume_xenev24) - .quad _C_LABEL(Xrecurse_xenev25), _C_LABEL(Xresume_xenev25) - .quad _C_LABEL(Xrecurse_xenev26), _C_LABEL(Xresume_xenev26) - .quad _C_LABEL(Xrecurse_xenev27), _C_LABEL(Xresume_xenev27) - .quad _C_LABEL(Xrecurse_xenev28), _C_LABEL(Xresume_xenev28) - .quad _C_LABEL(Xrecurse_xenev29), _C_LABEL(Xresume_xenev29) - .quad _C_LABEL(Xrecurse_xenev30), _C_LABEL(Xresume_xenev30) - .quad _C_LABEL(Xrecurse_xenev31), _C_LABEL(Xresume_xenev31) + .quad _C_LABEL(Xrecurse_xenev0), _C_LABEL(Xresume_xenev0) + .quad _C_LABEL(Xrecurse_xenev1) ,_C_LABEL(Xresume_xenev1) + .quad _C_LABEL(Xrecurse_xenev2) ,_C_LABEL(Xresume_xenev2) + .quad _C_LABEL(Xrecurse_xenev3) ,_C_LABEL(Xresume_xenev3) + .quad _C_LABEL(Xrecurse_xenev4) ,_C_LABEL(Xresume_xenev4) + .quad _C_LABEL(Xrecurse_xenev5) ,_C_LABEL(Xresume_xenev5) + .quad _C_LABEL(Xrecurse_xenev6) ,_C_LABEL(Xresume_xenev6) + .quad _C_LABEL(Xrecurse_xenev7) ,_C_LABEL(Xresume_xenev7) + .quad _C_LABEL(Xrecurse_xenev8) ,_C_LABEL(Xresume_xenev8) + .quad _C_LABEL(Xrecurse_xenev9) ,_C_LABEL(Xresume_xenev9) + .quad _C_LABEL(Xrecurse_xenev10), _C_LABEL(Xresume_xenev10) + .quad _C_LABEL(Xrecurse_xenev11), _C_LABEL(Xresume_xenev11) + .quad _C_LABEL(Xrecurse_xenev12), _C_LABEL(Xresume_xenev12) + .quad _C_LABEL(Xrecurse_xenev13), _C_LABEL(Xresume_xenev13) + .quad _C_LABEL(Xrecurse_xenev14), _C_LABEL(Xresume_xenev14) + .quad _C_LABEL(Xrecurse_xenev15), _C_LABEL(Xresume_xenev15) + .quad _C_LABEL(Xrecurse_xenev16), _C_LABEL(Xresume_xenev16) + .quad _C_LABEL(Xrecurse_xenev17), _C_LABEL(Xresume_xenev17) + .quad _C_LABEL(Xrecurse_xenev18), _C_LABEL(Xresume_xenev18) + .quad _C_LABEL(Xrecurse_xenev19), _C_LABEL(Xresume_xenev19) + .quad _C_LABEL(Xrecurse_xenev20), _C_LABEL(Xresume_xenev20) + .quad _C_LABEL(Xrecurse_xenev21), _C_LABEL(Xresume_xenev21) + .quad _C_LABEL(Xrecurse_xenev22), _C_LABEL(Xresume_xenev22) + .quad _C_LABEL(Xrecurse_xenev23), _C_LABEL(Xresume_xenev23) + .quad _C_LABEL(Xrecurse_xenev24), _C_LABEL(Xresume_xenev24) + .quad _C_LABEL(Xrecurse_xenev25), _C_LABEL(Xresume_xenev25) + .quad _C_LABEL(Xrecurse_xenev26), _C_LABEL(Xresume_xenev26) + .quad _C_LABEL(Xrecurse_xenev27), _C_LABEL(Xresume_xenev27) + .quad _C_LABEL(Xrecurse_xenev28), _C_LABEL(Xresume_xenev28) + .quad _C_LABEL(Xrecurse_xenev29), _C_LABEL(Xresume_xenev29) + .quad _C_LABEL(Xrecurse_xenev30), _C_LABEL(Xresume_xenev30) + .quad _C_LABEL(Xrecurse_xenev31), _C_LABEL(Xresume_xenev31) END(xenev_stubs) # Xen callbacks # Hypervisor callback NENTRY(hypervisor_callback) - movq (%rsp),%rcx - movq 8(%rsp),%r11 - addq $16,%rsp + movq (%rsp),%rcx + movq 8(%rsp),%r11 + addq $16,%rsp pushq $0 # Dummy error code pushq $T_ASTFLT INTRENTRY @@ -696,7 +696,7 @@ NENTRY(hypervisor_callback) movq %rsp, %rdi subq $8, %rdi; /* don't forget if_ppl */ call do_hypervisor_callback - testb $SEL_RPL,TF_CS(%rsp) + testb $SEL_RPL,TF_CS(%rsp) jnz doreti_checkast 1: INTRFASTEXIT @@ -704,15 +704,15 @@ END(hypervisor_callback) # Panic? NENTRY(failsafe_callback) - movq (%rsp),%rcx - movq 8(%rsp),%r11 - addq $16,%rsp + movq (%rsp),%rcx + movq 8(%rsp),%r11 + addq $16,%rsp pushq $0 pushq $T_ASTFLT INTRENTRY movq %rsp, %rdi subq $8, %rdi; /* don't forget if_ppl */ - call xen_failsafe_handler + call xen_failsafe_handler INTRFASTEXIT # jmp HYPERVISOR_iret END(failsafe_callback)