Subject: CVS commit: src/sys
To: None <source-changes@NetBSD.org>
From: Andrew Doran <ad@netbsd.org>
List: source-changes
Date: 09/26/2007 19:48:45
Module Name:	src
Committed By:	ad
Date:		Wed Sep 26 19:48:45 UTC 2007

Modified Files:
	src/sys/arch/amd64/amd64: fpu.c genassym.cf identcpu.c ipifuncs.c
	    locore.S machdep.c
	src/sys/arch/amd64/conf: files.amd64
	src/sys/arch/amd64/include: cpu.h cpufunc.h
	src/sys/arch/i386/acpi: acpi_wakeup.c
	src/sys/arch/i386/bios: vesafb.c
	src/sys/arch/i386/conf: files.i386
	src/sys/arch/i386/i386: db_dbgreg.S db_interface.c genassym.cf
	    identcpu.c ipifuncs.c locore.S machdep.c mtrr_k6.c pmap.c pmc.c
	    powernow_k7.c trap.c
	src/sys/arch/i386/include: atomic.h byte_swap.h cpu.h cpufunc.h param.h
	src/sys/arch/i386/isa: npx.c
	src/sys/arch/i386/mca: mca_machdep.c
	src/sys/arch/i386/pnpbios: pnpbios.c
	src/sys/arch/x86/include: bus.h bus_private.h pio.h specialreg.h
	src/sys/arch/x86/isa: clock.c
	src/sys/arch/x86/x86: acpi_machdep.c bus_dma.c bus_space.c cacheinfo.c
	    cpu.c errata.c i8259.c iclockmod.c idle_machdep.c ioapic.c lapic.c
	    mpbios.c mtrr_i686.c patch.c powernow_common.c x86_machdep.c
	src/sys/arch/xen/conf: files.xen
	src/sys/arch/xen/i386: cpu.c genassym.cf identcpu.c idle_machdep.c
	    machdep.c pmap.c trap.c xen_intr.c xen_machdep.c
	src/sys/arch/xen/include: cpufunc.h intr.h xen.h xenfunc.h
	src/sys/arch/xen/xen: evtchn.c
	src/sys/dev/acpi: acpi_timer.c
Added Files:
	src/sys/arch/amd64/amd64: busfunc.S cpufunc.S
	src/sys/arch/i386/i386: busfunc.S cpufunc.S i386func.S
	src/sys/arch/x86/include: busdefs.h cpufunc.h
	src/sys/arch/xen/i386: xenfunc.c
	src/sys/sys: bus_proto.h
Removed Files:
	src/sys/arch/xen/x86: bus_space.c

Log Message:
x86 changes for pcc and LKMs.

- Replace most inline assembly with proper functions. As a side effect
  this reduces the size of amd64 GENERIC by about 120kB, and i386 by a
  smaller amount. Nearly all of the inlines did something slow, or something
  that does not need to be fast.
- Make curcpu() and curlwp functions proper, unless __GNUC__ && _KERNEL.
  In that case make them inlines. Makes curlwp LKM and preemption safe.
- Make bus_space and bus_dma more LKM friendly.
- Share a few more files between the ports.
- Other minor changes.


To generate a diff of this commit:
cvs rdiff -r0 -r1.1 src/sys/arch/amd64/amd64/busfunc.S \
    src/sys/arch/amd64/amd64/cpufunc.S
cvs rdiff -r1.17 -r1.18 src/sys/arch/amd64/amd64/fpu.c
cvs rdiff -r1.11 -r1.12 src/sys/arch/amd64/amd64/genassym.cf
cvs rdiff -r1.24 -r1.25 src/sys/arch/amd64/amd64/identcpu.c
cvs rdiff -r1.10 -r1.11 src/sys/arch/amd64/amd64/ipifuncs.c
cvs rdiff -r1.26 -r1.27 src/sys/arch/amd64/amd64/locore.S
cvs rdiff -r1.61 -r1.62 src/sys/arch/amd64/amd64/machdep.c
cvs rdiff -r1.43 -r1.44 src/sys/arch/amd64/conf/files.amd64
cvs rdiff -r1.26 -r1.27 src/sys/arch/amd64/include/cpu.h
cvs rdiff -r1.17 -r1.18 src/sys/arch/amd64/include/cpufunc.h
cvs rdiff -r1.38 -r1.39 src/sys/arch/i386/acpi/acpi_wakeup.c
cvs rdiff -r1.22 -r1.23 src/sys/arch/i386/bios/vesafb.c
cvs rdiff -r1.314 -r1.315 src/sys/arch/i386/conf/files.i386
cvs rdiff -r0 -r1.1 src/sys/arch/i386/i386/busfunc.S \
    src/sys/arch/i386/i386/cpufunc.S src/sys/arch/i386/i386/i386func.S
cvs rdiff -r1.4 -r1.5 src/sys/arch/i386/i386/db_dbgreg.S
cvs rdiff -r1.52 -r1.53 src/sys/arch/i386/i386/db_interface.c
cvs rdiff -r1.51 -r1.52 src/sys/arch/i386/i386/genassym.cf
cvs rdiff -r1.74 -r1.75 src/sys/arch/i386/i386/identcpu.c
cvs rdiff -r1.18 -r1.19 src/sys/arch/i386/i386/ipifuncs.c
cvs rdiff -r1.50 -r1.51 src/sys/arch/i386/i386/locore.S
cvs rdiff -r1.607 -r1.608 src/sys/arch/i386/i386/machdep.c
cvs rdiff -r1.10 -r1.11 src/sys/arch/i386/i386/mtrr_k6.c
cvs rdiff -r1.214 -r1.215 src/sys/arch/i386/i386/pmap.c
cvs rdiff -r1.13 -r1.14 src/sys/arch/i386/i386/pmc.c
cvs rdiff -r1.26 -r1.27 src/sys/arch/i386/i386/powernow_k7.c
cvs rdiff -r1.219 -r1.220 src/sys/arch/i386/i386/trap.c
cvs rdiff -r1.9 -r1.10 src/sys/arch/i386/include/atomic.h
cvs rdiff -r1.11 -r1.12 src/sys/arch/i386/include/byte_swap.h
cvs rdiff -r1.145 -r1.146 src/sys/arch/i386/include/cpu.h
cvs rdiff -r1.38 -r1.39 src/sys/arch/i386/include/cpufunc.h
cvs rdiff -r1.62 -r1.63 src/sys/arch/i386/include/param.h
cvs rdiff -r1.116 -r1.117 src/sys/arch/i386/isa/npx.c
cvs rdiff -r1.31 -r1.32 src/sys/arch/i386/mca/mca_machdep.c
cvs rdiff -r1.59 -r1.60 src/sys/arch/i386/pnpbios/pnpbios.c
cvs rdiff -r1.13 -r1.14 src/sys/arch/x86/include/bus.h
cvs rdiff -r1.8 -r1.9 src/sys/arch/x86/include/bus_private.h
cvs rdiff -r0 -r1.1 src/sys/arch/x86/include/busdefs.h \
    src/sys/arch/x86/include/cpufunc.h
cvs rdiff -r1.5 -r1.6 src/sys/arch/x86/include/pio.h
cvs rdiff -r1.18 -r1.19 src/sys/arch/x86/include/specialreg.h
cvs rdiff -r1.9 -r1.10 src/sys/arch/x86/isa/clock.c
cvs rdiff -r1.13 -r1.14 src/sys/arch/x86/x86/acpi_machdep.c
cvs rdiff -r1.36 -r1.37 src/sys/arch/x86/x86/bus_dma.c
cvs rdiff -r1.9 -r1.10 src/sys/arch/x86/x86/bus_space.c \
    src/sys/arch/x86/x86/mtrr_i686.c
cvs rdiff -r1.10 -r1.11 src/sys/arch/x86/x86/cacheinfo.c \
    src/sys/arch/x86/x86/i8259.c
cvs rdiff -r1.2 -r1.3 src/sys/arch/x86/x86/cpu.c
cvs rdiff -r1.8 -r1.9 src/sys/arch/x86/x86/errata.c
cvs rdiff -r1.7 -r1.8 src/sys/arch/x86/x86/iclockmod.c
cvs rdiff -r1.3 -r1.4 src/sys/arch/x86/x86/idle_machdep.c \
    src/sys/arch/x86/x86/patch.c
cvs rdiff -r1.19 -r1.20 src/sys/arch/x86/x86/ioapic.c
cvs rdiff -r1.22 -r1.23 src/sys/arch/x86/x86/lapic.c
cvs rdiff -r1.37 -r1.38 src/sys/arch/x86/x86/mpbios.c
cvs rdiff -r1.5 -r1.6 src/sys/arch/x86/x86/powernow_common.c
cvs rdiff -r1.11 -r1.12 src/sys/arch/x86/x86/x86_machdep.c
cvs rdiff -r1.63 -r1.64 src/sys/arch/xen/conf/files.xen
cvs rdiff -r1.11 -r1.12 src/sys/arch/xen/i386/cpu.c
cvs rdiff -r1.14 -r1.15 src/sys/arch/xen/i386/genassym.cf
cvs rdiff -r1.13 -r1.14 src/sys/arch/xen/i386/identcpu.c
cvs rdiff -r1.3 -r1.4 src/sys/arch/xen/i386/idle_machdep.c
cvs rdiff -r1.42 -r1.43 src/sys/arch/xen/i386/machdep.c
cvs rdiff -r1.30 -r1.31 src/sys/arch/xen/i386/pmap.c
cvs rdiff -r1.16 -r1.17 src/sys/arch/xen/i386/trap.c
cvs rdiff -r1.4 -r1.5 src/sys/arch/xen/i386/xen_intr.c
cvs rdiff -r1.19 -r1.20 src/sys/arch/xen/i386/xen_machdep.c
cvs rdiff -r0 -r1.1 src/sys/arch/xen/i386/xenfunc.c
cvs rdiff -r1.16 -r1.17 src/sys/arch/xen/include/cpufunc.h \
    src/sys/arch/xen/include/intr.h
cvs rdiff -r1.22 -r1.23 src/sys/arch/xen/include/xen.h
cvs rdiff -r1.10 -r1.11 src/sys/arch/xen/include/xenfunc.h
cvs rdiff -r1.8 -r0 src/sys/arch/xen/x86/bus_space.c
cvs rdiff -r1.21 -r1.22 src/sys/arch/xen/xen/evtchn.c
cvs rdiff -r1.8 -r1.9 src/sys/dev/acpi/acpi_timer.c
cvs rdiff -r0 -r1.1 src/sys/sys/bus_proto.h

Please note that diffs are not public domain; they are subject to the
copyright notices on the relevant files.