EdgeBSD/src d2b4c95sys/arch/xen/conf files.xen

Pull up following revision(s) (requested by sborrill in ticket #1255):
        sys/arch/xen/conf/files.xen: revision 1.137
Include files.sljit as i386/amd64 do.
DeltaFile
+7-1sys/arch/xen/conf/files.xen
+7-11 files

EdgeBSD/src 0381f7asys/arch/xen/conf files.xen

Register the xenest(4) device driver
DeltaFile
+4-0sys/arch/xen/conf/files.xen
+4-01 files

EdgeBSD/src 3c0df32sys/arch/xen/conf files.xen

Include files.sljit as i386/amd64 do.
DeltaFile
+7-1sys/arch/xen/conf/files.xen
+7-11 files

EdgeBSD/src 131fe8asys/arch/xen/conf files.xen

there is no ibcs2 in amd64 [yet?]
DeltaFile
+3-2sys/arch/xen/conf/files.xen
+3-21 files

EdgeBSD/src 3b4df20sys/arch/xen/conf files.xen

Add two new compat files for Xen on amd64
DeltaFile
+5-1sys/arch/xen/conf/files.xen
+5-11 files

EdgeBSD/src b0ab8acsys/arch/xen/conf files.xen

Mark machdep files.
DeltaFile
+14-14sys/arch/xen/conf/files.xen
+14-141 files

EdgeBSD/src 78e3542sys/arch/xen/conf files.xen

Mark machdep files.
DeltaFile
+14-14sys/arch/xen/conf/files.xen
+14-141 files

EdgeBSD/src 0fcf8a7sys/arch/i386/i386 trap.c i386_trap.S, sys/arch/i386/isa npx.c

Change i386 to use x86/fpu.c instead of i386/isa/npx.c
This changes the trap10 and trap13 code to call directly into fpu.c,
  removing all the code for T_ARITHTRAP, T_XMM and T_FPUNDA from i386/trap.c
Not all of the code thate appeared to handle fpu traps was ever called!
Most of the changes just replace the include of machine/npx.h with x86/fpu.h
  (or remove it entirely).
DeltaFile
+0-665sys/arch/i386/isa/npx.c
+81-23sys/arch/x86/x86/fpu.c
+2-58sys/arch/i386/i386/trap.c
+14-14sys/arch/i386/i386/i386_trap.S
+11-11sys/arch/x86/include/fpu.h
+18-4sys/arch/i386/i386/cpufunc.S
+126-77518 files not shown
+181-85724 files

EdgeBSD/src db57722sys/arch/amd64/amd64 fpu.c, sys/arch/amd64/include fpu.h

Move sys/arch/amd64/amd64/fpu.c and sys/arch/amd64/include/fpu.h
into sys/arch/x86 in preparation for using the same code for i386.
DeltaFile
+0-484sys/arch/amd64/amd64/fpu.c
+484-0sys/arch/x86/x86/fpu.c
+25-0sys/arch/x86/include/fpu.h
+0-25sys/arch/amd64/include/fpu.h
+3-8sys/arch/x86/acpi/acpi_wakeup.c
+2-6sys/arch/x86/x86/vm_machdep.c
+514-52317 files not shown
+557-56523 files

EdgeBSD/src e8e8220sys/arch/amd64/amd64 netbsd32_machdep.c, sys/arch/amd64/include fpu.h netbsd32_machdep.h

Convert the amd64 build to use x86/cpu_extended_state.h so that the fpu
  definitions match those of i386.
Mostly just structure and field renames, in addition:
1) process_xmm_to_s87() and process_s87_to_xmm() moved into
   x86/convert_xmm_s87.c so they can be used by amd64's netbsd32 code.
2) The linux signal code simplified to use a structure copy for ths fxsave
   data - it matches the hardware definition and won't change.
DeltaFile
+155-0sys/arch/x86/x86/convert_xmm_s87.c
+2-119sys/arch/i386/i386/process_machdep.c
+13-87sys/arch/amd64/amd64/netbsd32_machdep.c
+2-63sys/arch/amd64/include/fpu.h
+13-38sys/compat/linux/arch/amd64/linux_machdep.c
+1-28sys/arch/amd64/include/netbsd32_machdep.h
+186-33512 files not shown
+240-39718 files

EdgeBSD/src bf41d18sys/arch/i386/acpi npx_acpi.c, sys/arch/i386/isa npx.c npx_isa.c

Remove support for 'external' floating point units and the MS-DOS
  compatible method of handling floating point exceptions.
Make kernel support for teh fpu non-optional (486SX should still work).
Only 386 cpus support external fpu, and i386 support was removed years ago.
This means that the npx code no longer uses port 0xf0 or interupt 13.
All the "npx at isa" lines go from the configs, arch/i386/isa/npx.c
  is now mandatory for all i386 kernels.
I've renamed npxinit() to fpuinit() and npxinit_cpu() to fpuinit_cpu()
  to match the very similar amd64 functions.
The fpu of the boot cpu is now initialised by a direct call from
  cpu_configure(), this enables FP emulation for a 486SX.
  (for amd64 the cr0 values are set in locore.S and similar).
This fixes a long-standing bug in linux_setregs() - which did not
  save the fpu regsiters if they were active.
I've test booted a single cpu i386 kernel (using anita).
amd64 builds - none of teh changes should affect it.
The i386 XEN kernels build, but I'm not sure where they set cr0, and
  it might have got lost!
DeltaFile
+45-208sys/arch/i386/isa/npx.c
+0-178sys/arch/i386/isa/npx_isa.c
+0-149sys/arch/i386/acpi/npx_acpi.c
+0-116sys/arch/i386/pnpbios/npx_pnpbios.c
+0-91sys/arch/i386/isa/npxvar.h
+0-71sys/arch/xen/i386/npx_hv.c
+45-81329 files not shown
+123-1,08435 files

EdgeBSD/src 4683b04sys/arch/i386/i386 kvm86.c kvm86call.S, sys/arch/i386/include kvm86.h

Remove all references to KVM86.
It was only ever used by APMBIOS - and then only if an option was selected.
Probably didn't work well at all!
DeltaFile
+0-355sys/arch/i386/i386/kvm86.c
+0-157sys/arch/i386/i386/kvm86call.S
+3-20sys/arch/i386/i386/trap.c
+0-14sys/arch/i386/include/kvm86.h
+2-11sys/arch/i386/i386/autoconf.c
+2-11sys/arch/xen/x86/autoconf.c
+7-5686 files not shown
+17-59012 files

EdgeBSD/src d4747bdsys/arch/i386/i386 kvm86.c kvm86call.S, sys/arch/i386/include kvm86.h

Remove all references to KVM86.
It was only ever used by APMBIOS - and then only if an option was selected.
Probably didn't work well at all!
DeltaFile
+0-355sys/arch/i386/i386/kvm86.c
+0-157sys/arch/i386/i386/kvm86call.S
+3-20sys/arch/i386/i386/trap.c
+0-14sys/arch/i386/include/kvm86.h
+2-11sys/arch/i386/i386/autoconf.c
+2-11sys/arch/xen/x86/autoconf.c
+7-5686 files not shown
+17-59012 files

EdgeBSD/src 15c2dbasys/arch/i386/i386 kvm86.c kvm86call.S, sys/arch/i386/include kvm86.h

Remove all references to KVM86.
It was only ever used by APMBIOS - and then only if an option was selected.
Probably didn't work well at all!
DeltaFile
+0-355sys/arch/i386/i386/kvm86.c
+0-157sys/arch/i386/i386/kvm86call.S
+3-20sys/arch/i386/i386/trap.c
+0-14sys/arch/i386/include/kvm86.h
+2-11sys/arch/i386/i386/autoconf.c
+2-11sys/arch/xen/x86/autoconf.c
+7-5686 files not shown
+17-59012 files

EdgeBSD/src 9ec5da0sys/arch/x86/include cpu_ucode.h, sys/arch/x86/x86 cpu_ucode_intel.c cpu_ucode.c

Extend the CPU microcode update framework to support Intel x86 CPUs.
Contrary to the AMD implementation, it doesn't use xcalls to distribute
the update to all CPUs but relies on cpuctl(8) to bind itself to the
right CPU -- to keep it simple and avoid possible problems with
hyperthreading.
Also, it doesn't parse the vendor supplied file to pick the right
part for the present CPU model but relies on userland to prepare
files with specific filenames. I'll commit a pkg for this in a minute
(pkgsrc/sysutils/intel-microcode).
The ioctl interface changed; compatibility is provided (should be
limited to COMPAT_NETBSD6 as soon as this is available).
DeltaFile
+152-0sys/arch/x86/x86/cpu_ucode_intel.c
+71-3usr.sbin/cpuctl/arch/i386.c
+55-12sys/arch/x86/x86/cpu_ucode.c
+55-11sys/arch/xen/xen/xen_ucode.c
+48-3sys/arch/x86/include/cpu_ucode.h
+29-15usr.sbin/cpuctl/cpuctl.c
+410-4412 files not shown
+517-7618 files

EdgeBSD/src 52e3c10sys/arch/x86/include cpu_ucode.h, sys/arch/x86/x86 cpu_ucode_intel.c cpu_ucode.c

Extend the CPU microcode update framework to support Intel x86 CPUs.
Contrary to the AMD implementation, it doesn't use xcalls to distribute
the update to all CPUs but relies on cpuctl(8) to bind itself to the
right CPU -- to keep it simple and avoid possible problems with
hyperthreading.
Also, it doesn't parse the vendor supplied file to pick the right
part for the present CPU model but relies on userland to prepare
files with specific filenames. I'll commit a pkg for this in a minute
(pkgsrc/sysutils/intel-microcode).
The ioctl interface changed; compatibility is provided (should be
limited to COMPAT_NETBSD6 as soon as this is available).
DeltaFile
+152-0sys/arch/x86/x86/cpu_ucode_intel.c
+71-3usr.sbin/cpuctl/arch/i386.c
+55-12sys/arch/x86/x86/cpu_ucode.c
+55-11sys/arch/xen/xen/xen_ucode.c
+48-3sys/arch/x86/include/cpu_ucode.h
+29-15usr.sbin/cpuctl/cpuctl.c
+410-4412 files not shown
+517-7618 files

EdgeBSD/src e42953dsys/arch/x86/include cpu_ucode.h, sys/arch/x86/x86 cpu_ucode_intel.c cpu_ucode.c

Extend the CPU microcode update framework to support Intel x86 CPUs.
Contrary to the AMD implementation, it doesn't use xcalls to distribute
the update to all CPUs but relies on cpuctl(8) to bind itself to the
right CPU -- to keep it simple and avoid possible problems with
hyperthreading.
Also, it doesn't parse the vendor supplied file to pick the right
part for the present CPU model but relies on userland to prepare
files with specific filenames. I'll commit a pkg for this in a minute
(pkgsrc/sysutils/intel-microcode).
The ioctl interface changed; compatibility is provided (should be
limited to COMPAT_NETBSD6 as soon as this is available).
DeltaFile
+152-0sys/arch/x86/x86/cpu_ucode_intel.c
+71-3usr.sbin/cpuctl/arch/i386.c
+55-12sys/arch/x86/x86/cpu_ucode.c
+55-11sys/arch/xen/xen/xen_ucode.c
+48-3sys/arch/x86/include/cpu_ucode.h
+29-15usr.sbin/cpuctl/cpuctl.c
+410-4412 files not shown
+517-7618 files

EdgeBSD/src af9d128sys/arch/i386/i386 locore.S, sys/arch/xen/include xenpmap.h

Retire XEN_COMPAT_030001 as detailed on port-xen@:

http://mail-index.netbsd.org/port-xen/2012/06/25/msg007431.html

The xen_p2m API comes next.

ok bouyer@.
Tested on i386 PAE and amd64 (Xen 3.3 on private test bed, and
Xen 3.4 for Amazon EC2).

FWIW, Amazon always reported:

hypervisor0 at mainbus0: Xen version 3.4.3-kaos_t1micro

multiple times for Europe and US West-1, so I guess they are now at
3.4 (32 and 64 bits).
DeltaFile
+4-19sys/arch/xen/include/xenpmap.h
+6-9sys/arch/xen/x86/xen_bus_dma.c
+7-8sys/arch/xen/xen/if_xennet_xenbus.c
+4-11sys/arch/i386/i386/locore.S
+1-11sys/arch/xen/include/i386/hypercalls.h
+5-6sys/arch/xen/xen/xennetback_xenbus.c
+27-647 files not shown
+45-8813 files

EdgeBSD/src c747e70sys/arch/i386/i386 locore.S, sys/arch/xen/include xenpmap.h

Retire XEN_COMPAT_030001 as detailed on port-xen@:

http://mail-index.netbsd.org/port-xen/2012/06/25/msg007431.html

The xen_p2m API comes next.

ok bouyer@.
Tested on i386 PAE and amd64 (Xen 3.3 on private test bed, and
Xen 3.4 for Amazon EC2).

FWIW, Amazon always reported:

hypervisor0 at mainbus0: Xen version 3.4.3-kaos_t1micro

multiple times for Europe and US West-1, so I guess they are now at
3.4 (32 and 64 bits).
DeltaFile
+4-19sys/arch/xen/include/xenpmap.h
+7-8sys/arch/xen/xen/if_xennet_xenbus.c
+4-11sys/arch/i386/i386/locore.S
+6-9sys/arch/xen/x86/xen_bus_dma.c
+1-11sys/arch/xen/include/i386/hypercalls.h
+5-6sys/arch/xen/xen/xennetback_xenbus.c
+27-647 files not shown
+45-8813 files

EdgeBSD/src d0cfd73sys/arch/i386/i386 locore.S, sys/arch/xen/include xenpmap.h

Retire XEN_COMPAT_030001 as detailed on port-xen@:

http://mail-index.netbsd.org/port-xen/2012/06/25/msg007431.html

The xen_p2m API comes next.

ok bouyer@.
Tested on i386 PAE and amd64 (Xen 3.3 on private test bed, and
Xen 3.4 for Amazon EC2).

FWIW, Amazon always reported:

hypervisor0 at mainbus0: Xen version 3.4.3-kaos_t1micro

multiple times for Europe and US West-1, so I guess they are now at
3.4 (32 and 64 bits).
DeltaFile
+4-19sys/arch/xen/include/xenpmap.h
+7-8sys/arch/xen/xen/if_xennet_xenbus.c
+6-9sys/arch/xen/x86/xen_bus_dma.c
+4-11sys/arch/i386/i386/locore.S
+1-11sys/arch/xen/include/i386/hypercalls.h
+5-6sys/arch/xen/xen/xennetback_xenbus.c
+27-647 files not shown
+45-8813 files

EdgeBSD/src d17b34bsys/arch/amd64/amd64 db_memrw.c, sys/arch/amd64/conf files.amd64

Merge i386 and amd64 version of db_memrw.c.

Use this opportunity to skip calculating the VA of the page. Let the CPU
deal with the invalidation itself through invlpg + destination address to
avoid converting between canonical/non canonical forms.
DeltaFile
+0-207sys/arch/i386/i386/db_memrw.c
+207-0sys/arch/x86/x86/db_memrw.c
+0-203sys/arch/amd64/amd64/db_memrw.c
+2-3sys/arch/xen/conf/files.xen
+2-1sys/arch/x86/conf/files.x86
+1-2sys/arch/amd64/conf/files.amd64
+212-4161 files not shown
+213-4187 files

EdgeBSD/src a683872sys/arch/amd64/amd64 db_memrw.c, sys/arch/amd64/conf files.amd64

Merge i386 and amd64 version of db_memrw.c.

Use this opportunity to skip calculating the VA of the page. Let the CPU
deal with the invalidation itself through invlpg + destination address to
avoid converting between canonical/non canonical forms.
DeltaFile
+207-0sys/arch/x86/x86/db_memrw.c
+0-207sys/arch/i386/i386/db_memrw.c
+0-203sys/arch/amd64/amd64/db_memrw.c
+2-3sys/arch/xen/conf/files.xen
+1-2sys/arch/amd64/conf/files.amd64
+2-1sys/arch/x86/conf/files.x86
+212-4161 files not shown
+213-4187 files

EdgeBSD/src 01b3c04sys/arch/amd64/amd64 db_memrw.c, sys/arch/amd64/conf files.amd64

Merge i386 and amd64 version of db_memrw.c.

Use this opportunity to skip calculating the VA of the page. Let the CPU
deal with the invalidation itself through invlpg + destination address to
avoid converting between canonical/non canonical forms.
DeltaFile
+207-0sys/arch/x86/x86/db_memrw.c
+0-207sys/arch/i386/i386/db_memrw.c
+0-203sys/arch/amd64/amd64/db_memrw.c
+2-3sys/arch/xen/conf/files.xen
+1-2sys/arch/amd64/conf/files.amd64
+1-2sys/arch/i386/conf/files.i386
+211-4171 files not shown
+213-4187 files

EdgeBSD/src 3cfc4cesys/arch/xen/conf files.xen

No need for CPU_UCODE here now that it is global
DeltaFile
+1-2sys/arch/xen/conf/files.xen
+1-21 files

EdgeBSD/src 7f34b94sys/arch/xen/conf files.xen

No need for CPU_UCODE here now that it is global
DeltaFile
+1-2sys/arch/xen/conf/files.xen
+1-21 files

EdgeBSD/src 4ed4eb5sys/arch/xen/conf files.xen

No need for CPU_UCODE here now that it is global
DeltaFile
+1-2sys/arch/xen/conf/files.xen
+1-21 files

EdgeBSD/src 6daef06sys/arch/x86/x86 cpu_ucode_amd.c cpu_ucode.c, sys/arch/xen/xen xen_ucode.c

Support CPU microcode loading via cpuctl(8).
Implemented and enabled via CPU_UCODE kernel config option
for x86 and Xen Dom0.
Tested on different AMD machines with different
CPU families.

ok wiz@ for the manpages
ok releng@
ok core@ via releng@
DeltaFile
+292-0sys/arch/x86/x86/cpu_ucode_amd.c
+102-0sys/arch/x86/x86/cpu_ucode.c
+101-0sys/arch/xen/xen/xen_ucode.c
+68-3sys/kern/kern_cpu.c
+55-13usr.sbin/cpuctl/cpuctl.c
+40-3usr.sbin/cpuctl/cpuctl.8
+658-1913 files not shown
+770-3719 files

EdgeBSD/src f9e71dcsys/arch/x86/x86 cpu_ucode_amd.c cpu_ucode.c, sys/arch/xen/xen xen_ucode.c

Support CPU microcode loading via cpuctl(8).
Implemented and enabled via CPU_UCODE kernel config option
for x86 and Xen Dom0.
Tested on different AMD machines with different
CPU families.

ok wiz@ for the manpages
ok releng@
ok core@ via releng@
DeltaFile
+292-0sys/arch/x86/x86/cpu_ucode_amd.c
+102-0sys/arch/x86/x86/cpu_ucode.c
+101-0sys/arch/xen/xen/xen_ucode.c
+68-3sys/kern/kern_cpu.c
+55-13usr.sbin/cpuctl/cpuctl.c
+40-3usr.sbin/cpuctl/cpuctl.8
+658-1913 files not shown
+770-3719 files

EdgeBSD/src 211c299sys/arch/x86/x86 cpu_ucode_amd.c cpu_ucode.c, sys/arch/xen/xen xen_ucode.c

Support CPU microcode loading via cpuctl(8).
Implemented and enabled via CPU_UCODE kernel config option
for x86 and Xen Dom0.
Tested on different AMD machines with different
CPU families.

ok wiz@ for the manpages
ok releng@
ok core@ via releng@
DeltaFile
+292-0sys/arch/x86/x86/cpu_ucode_amd.c
+102-0sys/arch/x86/x86/cpu_ucode.c
+101-0sys/arch/xen/xen/xen_ucode.c
+68-3sys/kern/kern_cpu.c
+55-13usr.sbin/cpuctl/cpuctl.c
+40-3usr.sbin/cpuctl/cpuctl.8
+658-1913 files not shown
+770-3719 files

EdgeBSD/src a6c22d2sys/arch/xen/conf files.xen, sys/arch/xen/xen hypervisor.c

Expose Xen kernfs entries inside a domU. Patch originally from sborrill@,
slightly modified by me to profit from runtime checks for dom0 privileges
instead of using compile time macros (DOM0OPS).

It should now be possible to use pkgsrc's sysutils/xentools inside
a domU to query XenStore entries (or even modify part of it if the domain
has enough rights).
DeltaFile
+9-6sys/arch/xen/xenbus/xenbus_dev.c
+4-10sys/arch/xen/xen/hypervisor.c
+5-5sys/arch/xen/xenbus/xenbus_probe.c
+2-2sys/arch/xen/conf/files.xen
+20-234 files