linux/drivers
Jeremy Fitzhardinge 93b1eab3d2 paravirt: refactor struct paravirt_ops into smaller pv_*_ops
This patch refactors the paravirt_ops structure into groups of
functionally related ops:

pv_info - random info, rather than function entrypoints
pv_init_ops - functions used at boot time (some for module_init too)
pv_misc_ops - lazy mode, which didn't fit well anywhere else
pv_time_ops - time-related functions
pv_cpu_ops - various privileged instruction ops
pv_irq_ops - operations for managing interrupt state
pv_apic_ops - APIC operations
pv_mmu_ops - operations for managing pagetables

There are several motivations for this:

1. Some of these ops will be general to all x86, and some will be
   i386/x86-64 specific.  This makes it easier to share common stuff
   while allowing separate implementations where needed.

2. At the moment we must export all of paravirt_ops, but modules only
   need selected parts of it.  This allows us to export on a case by case
   basis (and also choose which export license we want to apply).

3. Functional groupings make things a bit more readable.

Struct paravirt_ops is now only used as a template to generate
patch-site identifiers, and to extract function pointers for inserting
into jmp/calls when patching.  It is only instantiated when needed.

Signed-off-by: Jeremy Fitzhardinge <jeremy@xensource.com>
Signed-off-by: Rusty Russell <rusty@rustcorp.com.au>
Cc: Andi Kleen <ak@suse.de>
Cc: Zach Amsden <zach@vmware.com>
Cc: Avi Kivity <avi@qumranet.com>
Cc: Anthony Liguory <aliguori@us.ibm.com>
Cc: "Glauber de Oliveira Costa" <glommer@gmail.com>
Cc: Jun Nakajima <jun.nakajima@intel.com>
2007-10-16 11:51:29 -07:00
..
acorn/char
acpi Merge master.kernel.org:/pub/scm/linux/kernel/git/gregkh/driver-2.6 2007-10-12 15:49:37 -07:00
amba Driver core: change add_uevent_var to use a struct 2007-10-12 14:51:01 -07:00
ata [libata] struct pci_dev related cleanups 2007-10-12 14:55:47 -04:00
atm [NET]: Make the device list and device lookups per namespace. 2007-10-10 16:49:10 -07:00
auxdisplay cfag12864b fix 2007-08-22 19:52:46 -07:00
base PM: merge device power-management source files 2007-10-12 14:51:12 -07:00
block [S390] Remove obsolete recommendation for 8M ramdisk size. 2007-10-12 16:13:09 +02:00
bluetooth [Bluetooth] Add missing stat.byte_rx counter modification 2007-09-09 08:39:27 +02:00
cdrom [POWERPC] iSeries: Move detection of virtual cdroms 2007-10-11 20:40:47 +10:00
char paravirt: refactor struct paravirt_ops into smaller pv_*_ops 2007-10-16 11:51:29 -07:00
clocksource
connector [NET]: make netlink user -> kernel interface synchronious 2007-10-10 21:15:29 -07:00
cpufreq Merge master.kernel.org:/pub/scm/linux/kernel/git/gregkh/driver-2.6 2007-10-12 15:49:37 -07:00
crypto [CRYPTO] sha: Add header file for SHA definitions 2007-10-10 16:55:50 -07:00
dio
dma [IOAT]: ioatdma needs to to play nice in a multi-dma-client world 2007-08-26 18:35:40 -07:00
edac Drivers: clean up direct setting of the name of a kset 2007-10-12 14:51:02 -07:00
eisa Driver core: change add_uevent_var to use a struct 2007-10-12 14:51:01 -07:00
fc4
firewire Driver core: change add_uevent_var to use a struct 2007-10-12 14:51:01 -07:00
firmware Driver core: rename ktype_edd and ktype_efivar 2007-10-12 14:51:12 -07:00
hid Add some help texts to recently-introduced kconfig items 2007-08-18 09:52:50 -07:00
hwmon drivers/firmware: const-ify DMI API and internals 2007-10-09 20:22:20 -04:00
i2c Driver core: change add_uevent_var to use a struct 2007-10-12 14:51:01 -07:00
ide Driver core: change add_uevent_var to use a struct 2007-10-12 14:51:01 -07:00
ieee1394 Driver core: change add_uevent_var to use a struct 2007-10-12 14:51:01 -07:00
infiniband Driver core: change add_uevent_var to use a struct 2007-10-12 14:51:01 -07:00
input Merge master.kernel.org:/pub/scm/linux/kernel/git/gregkh/driver-2.6 2007-10-12 15:49:37 -07:00
isdn Merge branch 'isdn-cleanups' of master.kernel.org:/pub/scm/linux/kernel/git/jgarzik/misc-2.6 2007-10-12 15:03:35 -07:00
kvm KVM: Fix virtualization menu help text 2007-09-22 12:55:18 -07:00
leds leds: Update Cobalt Qube series front LED support 2007-10-11 22:24:00 +01:00
lguest paravirt: refactor struct paravirt_ops into smaller pv_*_ops 2007-10-16 11:51:29 -07:00
macintosh [POWERPC] adbhid: Enable KEY_FN key reporting 2007-09-22 14:49:21 +10:00
mca
md kobjects: fix up improper use of the kobject name field 2007-10-12 14:51:02 -07:00
media cdev: remove unneeded setting of cdev names 2007-10-12 14:51:02 -07:00
message [NET]: Nuke SET_MODULE_OWNER macro. 2007-10-10 16:51:13 -07:00
mfd
misc Driver core: change add_uevent_var to use a struct 2007-10-12 14:51:01 -07:00
mmc Merge master.kernel.org:/pub/scm/linux/kernel/git/gregkh/driver-2.6 2007-10-12 15:49:37 -07:00
mtd [POWERPC] Cleanups for physmap_of.c (v2) 2007-09-20 07:37:16 -05:00
net Merge master.kernel.org:/pub/scm/linux/kernel/git/gregkh/driver-2.6 2007-10-12 15:49:37 -07:00
nubus
of
oprofile
parisc [NET]: Make the device list and device lookups per namespace. 2007-10-10 16:49:10 -07:00
parport
pci Merge master.kernel.org:/pub/scm/linux/kernel/git/gregkh/pci-2.6 2007-10-12 15:50:23 -07:00
pcmcia Driver core: change add_uevent_var to use a struct 2007-10-12 14:51:01 -07:00
pnp drivers/firmware: const-ify DMI API and internals 2007-10-09 20:22:20 -04:00
power Driver core: change add_uevent_var to use a struct 2007-10-12 14:51:01 -07:00
ps3
rapidio
rtc rtc: rtc-ds1553.c should use resource_size_t for base address 2007-09-19 11:24:17 -07:00
s390 Merge master.kernel.org:/pub/scm/linux/kernel/git/gregkh/driver-2.6 2007-10-12 15:49:37 -07:00
sbus
scsi Merge branch 'upstream' of git://git.kernel.org/pub/scm/linux/kernel/git/jgarzik/libata-dev 2007-10-12 16:16:41 -07:00
serial Merge branch 'master' of git://git.kernel.org/pub/scm/linux/kernel/git/paulus/powerpc 2007-10-11 21:55:47 -07:00
sh
sn
spi Driver core: change add_uevent_var to use a struct 2007-10-12 14:51:01 -07:00
ssb [SSB]: Sparse fixes. 2007-10-10 16:52:21 -07:00
tc
telephony
uio
usb Merge master.kernel.org:/pub/scm/linux/kernel/git/gregkh/driver-2.6 2007-10-12 15:49:37 -07:00
video Convert from class_device to device for drivers/video 2007-10-12 14:51:04 -07:00
w1 Driver core: change add_uevent_var to use a struct 2007-10-12 14:51:01 -07:00
xen
zorro zorro: Make sysfs config attribute read-only 2007-08-22 19:52:45 -07:00
Kconfig [SSB]: add Sonics Silicon Backplane bus support 2007-10-10 16:51:36 -07:00
Makefile [SSB]: add Sonics Silicon Backplane bus support 2007-10-10 16:51:36 -07:00