kernel-hacking-2024-linux-s.../include/linux
Eddie Dong 97222cc831 KVM: Emulate local APIC in kernel
Because lightweight exits (exits which don't involve userspace) are many
times faster than heavyweight exits, it makes sense to emulate high usage
devices in the kernel.  The local APIC is one such device, especially for
Windows and for SMP, so we add an APIC model to kvm.

It also allows in-kernel host-side drivers to inject interrupts without
going through userspace.

[compile fix on i386 from Jindrich Makovicka]

Signed-off-by: Yaozu (Eddie) Dong <Eddie.Dong@intel.com>
Signed-off-by: Qing He <qing.he@intel.com>
Signed-off-by: Avi Kivity <avi@qumranet.com>
2007-10-13 10:18:25 +02:00
..
amba
byteorder
dvb
hdlc
isdn
lockd
mlx4 IB/mlx4: Implement FMRs 2007-10-09 19:59:16 -07:00
mmc
mtd
netfilter [NETFILTER]: x_tables: add xt_time match 2007-10-10 16:53:40 -07:00
netfilter_arp
netfilter_bridge
netfilter_ipv4
netfilter_ipv6
nfsd
raid
rtc
spi
ssb [SSB]: add Sonics Silicon Backplane bus support 2007-10-10 16:51:36 -07:00
sunrpc
tc_act [PKT_SCHED]: Add stateless NAT 2007-10-10 16:53:11 -07:00
tc_ematch
usb USB: serial core should respect driver requirements 2007-10-12 14:55:34 -07:00
8250_pci.h
a.out.h
ac97_codec.h
acct.h
acpi.h
acpi_pmtmr.h
adb.h
adfs_fs.h
adfs_fs_i.h
adfs_fs_sb.h
aer.h
affs_hardblocks.h
agp_backend.h
agpgart.h
aio.h
aio_abi.h
amifd.h
amifdreg.h
amigaffs.h
anon_inodes.h
apm-emulation.h
apm_bios.h
arcdevice.h arcnet endianness annotations 2007-10-10 16:51:59 -07:00
arcfb.h
async_tx.h
ata.h libata: add human-readable error value decoding 2007-10-12 14:55:45 -04:00
atalk.h
atm.h
atm_eni.h
atm_he.h
atm_idt77105.h
atm_nicstar.h
atm_suni.h
atm_tcp.h
atm_zatm.h
atmapi.h
atmarp.h
atmbr2684.h
atmclip.h
atmdev.h
atmel_pdc.h
atmioc.h
atmlec.h
atmmpc.h
atmppp.h
atmsap.h
atmsvc.h
attribute_container.h
audit.h [XFRM]: xfrm audit calls 2007-10-10 16:49:02 -07:00
auto_fs.h
auto_fs4.h
auxvec.h
ax25.h
b1lli.h
b1pcmcia.h
backing-dev.h
backlight.h backlight: Convert corgi backlight driver into a more generic driver 2007-10-11 22:24:13 +01:00
baycom.h
bcd.h
bfs_fs.h
binfmts.h
bio.h Drop 'size' argument from bio_endio and bi_end_io 2007-10-10 09:25:57 +02:00
bit_spinlock.h
bitmap.h
bitops.h
bitrev.h
blkdev.h [BLOCK] Move sector_div() from blkdev.h to kernel.h 2007-10-12 12:40:38 +02:00
blkpg.h
blktrace_api.h [BLOCK] Better fix for do_blk_trace_setup() for !CONFIG_BLOCK 2007-10-12 12:50:07 +02:00
blockgroup_lock.h
bootmem.h
bottom_half.h
bpqether.h
bsg.h
buffer_head.h
bug.h
cache.h
calc64.h
capability.h
capi.h
cciss_ioctl.h
cd1400.h
cdev.h
cdk.h
cdrom.h
cfag12864b.h
chio.h
circ_buf.h
clk.h
clockchips.h clockevents: Allow build w/o run-tine usage for migration purposes 2007-10-12 23:04:05 +02:00
clocksource.h
cm4000_cs.h
cn_proc.h
coda.h
coda_cache.h
coda_fs_i.h
coda_linux.h
coda_psdev.h
coff.h
com20020.h
compat.h
compiler-gcc.h
compiler-gcc3.h
compiler-gcc4.h
compiler-intel.h
compiler.h
completion.h
comstats.h
concap.h
configfs.h
connector.h [NET]: make netlink user -> kernel interface synchronious 2007-10-10 21:15:29 -07:00
console.h
console_struct.h
consolemap.h
const.h
cpu.h
cpufreq.h [CPUFREQ] implement !CONFIG_CPU_FREQ stub for cpufreq_unregister_notifier() 2007-10-04 18:40:57 -04:00
cpumask.h
cpuset.h
cramfs_fs.h
cramfs_fs_sb.h
crash_dump.h
crc-ccitt.h
crc-itu-t.h
crc7.h
crc16.h
crc32.h
crc32c.h
crypto.h [CRYPTO] api: Fixed crypto_*_reqsize return type 2007-10-10 16:55:42 -07:00
cryptohash.h
ctype.h
cuda.h
cyclades.h
cyclomx.h
cycx_cfm.h
cycx_drv.h
cycx_x25.h
dcache.h
dccp.h [DCCP]: Tidy-up -- minisock initialisation 2007-10-10 16:54:36 -07:00
dcookies.h
debug_locks.h
debugfs.h debugfs: helper for decimal challenged 2007-10-12 14:51:03 -07:00
delay.h
delayacct.h
device-mapper.h
device.h Driver core: change add_uevent_var to use a struct 2007-10-12 14:51:01 -07:00
devpts_fs.h
dio.h
dirent.h
display.h
dlm.h
dlm_device.h
dlm_netlink.h
dm-ioctl.h
dm9000.h
dma-mapping.h
dmaengine.h
dmapool.h
dmi.h drivers/firmware: const-ify DMI API and internals 2007-10-09 20:22:20 -04:00
dn.h
dnotify.h
dqblk_v1.h
dqblk_v2.h
dqblk_xfs.h
ds1wm.h
ds1286.h
ds17287rtc.h
dtlk.h
edac.h
edd.h
eeprom_93cx6.h ax88796: add 93cx6 eeprom support 2007-10-10 16:53:56 -07:00
efi.h
efs_dir.h
efs_fs.h
efs_fs_i.h
efs_fs_sb.h
efs_vh.h
eisa.h
elevator.h
elf-em.h
elf-fdpic.h
elf.h
elfcore.h
elfnote.h
err.h
errno.h
errqueue.h
etherdevice.h [NET]: Move hardware header operations out of netdevice. 2007-10-10 16:52:52 -07:00
ethtool.h [ETHTOOL]: Introduce ->{get,set}_priv_flags, ETHTOOL_[GS]PFLAGS 2007-10-10 16:48:08 -07:00
eventfd.h
eventpoll.h
exportfs.h
ext2_fs.h
ext2_fs_sb.h
ext3_fs.h
ext3_fs_i.h
ext3_fs_sb.h
ext3_jbd.h
ext4_fs.h
ext4_fs_extents.h
ext4_fs_i.h
ext4_fs_sb.h
ext4_jbd2.h
fadvise.h
falloc.h
fault-inject.h
fb.h
fcdevice.h
fcntl.h
fd.h
fd1772.h
fddidevice.h
fdreg.h
fib_rules.h
file.h
filter.h
firewire-cdev.h
firewire-constants.h
firmware.h
flat.h
font.h
freezer.h
fs.h
fs_enet_pd.h fs_enet: Be an of_platform device when CONFIG_PPC_CPM_NEW_BINDING is set. 2007-10-10 16:54:03 -07:00
fs_stack.h
fs_struct.h
fs_uart_pd.h
fsl_devices.h
fsnotify.h
fuse.h
futex.h
gameport.h
gen_stats.h
genalloc.h
generic_acl.h
generic_serial.h
genetlink.h
genhd.h
getcpu.h
gfp.h
gfs2_ondisk.h [GFS2] Fix quota do_list operation hang 2007-10-10 08:55:27 +01:00
gigaset_dev.h
gpio_keys.h
gpio_mouse.h
hardirq.h
harrier_defs.h
hash.h
hayesesp.h
hdlc.h
hdlcdrv.h
hdpu_features.h
hdreg.h
hdsmart.h
hid-debug.h
hid.h
hiddev.h
highmem.h
highuid.h
hil.h
hil_mlc.h
hippidevice.h
hp_sdc.h
hpet.h
hrtimer.h
htirq.h
hugetlb.h
hw_random.h
hwmon-sysfs.h
hwmon-vid.h
hwmon.h
hysdn_if.h
i2c-algo-bit.h
i2c-algo-pca.h
i2c-algo-pcf.h
i2c-algo-sgi.h
i2c-dev.h
i2c-gpio.h
i2c-id.h V4L/DVB (6149): Add I2C_HW_B_CX23885 for Conexant 23885/23887 PCIe bridge 2007-10-09 22:07:51 -03:00
i2c-ocores.h
i2c-pnx.h
i2c-pxa.h
i2c.h
i2o-dev.h
i2o.h
i8k.h
ibmtr.h
icmp.h
icmpv6.h
ide.h ide: add ide_set{_max}_pio() (take 4) 2007-10-11 23:54:00 +02:00
idr.h
ieee80211.h [PATCH] wireless networking: move frame inline functions to generic header 2007-10-10 16:52:59 -07:00
if.h
if_addr.h
if_arcnet.h arcnet endianness annotations 2007-10-10 16:51:59 -07:00
if_arp.h
if_bonding.h
if_bridge.h [NET]: Make the device list and device lookups per namespace. 2007-10-10 16:49:10 -07:00
if_cablemodem.h
if_ec.h
if_eql.h [NET] drivers/net: statistics cleanup #1 -- save memory and shrink code 2007-10-10 16:51:16 -07:00
if_ether.h [NET]: Move hardware header operations out of netdevice. 2007-10-10 16:52:52 -07:00
if_fc.h
if_fddi.h
if_frad.h
if_hippi.h
if_infiniband.h
if_link.h [NET]: netlink support for moving devices between network namespaces. 2007-10-10 16:49:13 -07:00
if_ltalk.h
if_macvlan.h
if_packet.h
if_plip.h
if_ppp.h
if_pppol2tp.h
if_pppox.h pppoe: endianness 2007-10-10 16:52:04 -07:00
if_shaper.h [NET]: Move hardware header operations out of netdevice. 2007-10-10 16:52:52 -07:00
if_slip.h
if_strip.h
if_tr.h
if_tun.h [NET] drivers/net: statistics cleanup #1 -- save memory and shrink code 2007-10-10 16:51:16 -07:00
if_tunnel.h
if_vlan.h [NET]: Make the device list and device lookups per namespace. 2007-10-10 16:49:10 -07:00
if_wanpipe.h
igmp.h
in.h
in6.h
in_route.h
inet.h
inet_diag.h
inet_lro.h [NET]: Generic Large Receive Offload for TCP traffic 2007-10-10 16:47:46 -07:00
inetdevice.h
init.h [NETNS]: Move some code into __init section when CONFIG_NET_NS=n 2007-10-10 16:54:58 -07:00
init_task.h [NETNS]: Fix allnoconfig compilation error. 2007-10-10 16:49:21 -07:00
initrd.h
inotify.h
input-polldev.h
input.h [RFKILL]: Add support for ultrawideband 2007-10-10 16:49:23 -07:00
interrupt.h
io.h
ioc3.h
ioc4.h
ioctl.h
ioport.h
ioprio.h
ip.h
ip6_tunnel.h
ipc.h
ipmi.h
ipmi_msgdefs.h
ipmi_smi.h
ipsec.h
ipv6.h [IPSEC]: Get rid of ipv6_{auth,esp,comp}_hdr 2007-10-10 16:55:55 -07:00
ipv6_route.h
ipx.h
irda.h
irq.h
irq_cpustat.h
irqflags.h
irqreturn.h
isa.h
isapnp.h
isdn.h [ISDN]: Change I4L to use alloc_netdev(). 2007-10-10 16:54:57 -07:00
isdn_divertif.h
isdn_ppp.h
isdnif.h
isicom.h
iso_fs.h
istallion.h
ivtv.h V4L/DVB (6123): ivtv: move ivtv.h public header to include/linux 2007-10-09 22:07:28 -03:00
ivtvfb.h V4L/DVB (6119): ivtvfb: renamed ivtv-fb to ivtvfb, move header to include/linux 2007-10-09 22:07:23 -03:00
ixjuser.h
jbd.h
jbd2.h
jffs2.h
jhash.h
jiffies.h jiffies: remove unused macros 2007-10-12 23:04:23 +02:00
journal-head.h
joystick.h
kallsyms.h
kbd_diacr.h
kbd_kern.h
Kbuild
kd.h
kdebug.h
kdev_t.h
kernel.h [BLOCK] Move sector_div() from blkdev.h to kernel.h 2007-10-12 12:40:38 +02:00
kernel_stat.h
kernelcapi.h
kexec.h
key-ui.h
key.h
keyboard.h
keyctl.h
kfifo.h
klist.h
kmalloc_sizes.h
kmod.h
kobj_map.h
kobject.h kobject: update the copyrights 2007-10-12 14:51:12 -07:00
kprobes.h
kref.h
ks0108.h
kthread.h
ktime.h [KTIME]: Introduce ktime_sub_ns and ktime_sub_us 2007-10-10 16:48:12 -07:00
kvm.h KVM: Emulate local APIC in kernel 2007-10-13 10:18:25 +02:00
kvm_para.h
lapb.h
latency.h
lcd.h
leds.h
lguest.h
lguest_bus.h
lguest_launcher.h
libata.h [libata] struct pci_dev related cleanups 2007-10-12 14:55:47 -04:00
libps2.h
license.h
limits.h
linkage.h
linux_logo.h
list.h [NETNS]: Cleanup list walking in setup_net and cleanup_net 2007-10-10 16:51:35 -07:00
llc.h
lm_interface.h
lock_dlm_plock.h
lockdep.h
log2.h
loop.h
lp.h
lzo.h
m41t00.h
m48t86.h
magic.h
major.h
matroxfb.h
mbcache.h
mc6821.h
mc146818rtc.h
mca-legacy.h
mca.h
mdio-bitbang.h Generic bitbanged MDIO library 2007-10-10 16:54:03 -07:00
memory.h
memory_hotplug.h
mempolicy.h
mempool.h
meye.h
migrate.h
mii.h
minix_fs.h
miscdevice.h
mm.h
mm_inline.h
mm_types.h
mman.h
mmtimer.h
mmzone.h
mnt_namespace.h
mod_devicetable.h Merge branch 'master' of git://git.kernel.org/pub/scm/linux/kernel/git/davem/net-2.6 2007-10-11 19:40:14 -07:00
module.h
moduleloader.h
moduleparam.h
mount.h
mpage.h
mqueue.h
mroute.h
msdos_fs.h
msg.h
msi.h
mtio.h
mutex-debug.h
mutex.h
mv643xx.h
n_r3964.h
namei.h
nbd.h
ncp.h
ncp_fs.h
ncp_fs_i.h
ncp_fs_sb.h
ncp_mount.h
ncp_no.h
neighbour.h
net.h [NET]: Make socket creation namespace safe. 2007-10-10 16:49:07 -07:00
netdevice.h [NET]: Fix dev_put() and dev_hold() comments 2007-10-10 21:18:17 -07:00
netfilter.h
netfilter_arp.h
netfilter_bridge.h
netfilter_decnet.h
netfilter_ipv4.h
netfilter_ipv6.h
netlink.h [NET]: make netlink user -> kernel interface synchronious 2007-10-10 21:15:29 -07:00
netpoll.h [NET] netconsole: Support dynamic reconfiguration using configfs 2007-10-10 16:48:06 -07:00
netrom.h
nfs.h
nfs2.h
nfs3.h
nfs4.h
nfs4_acl.h
nfs4_mount.h
nfs_fs.h
nfs_fs_i.h
nfs_fs_sb.h
nfs_idmap.h
nfs_mount.h
nfs_page.h
nfs_xdr.h
nfsacl.h
nfsd_idmap.h
nl80211.h [NL80211]: add netlink interface to cfg80211 2007-10-10 16:52:14 -07:00
nls.h
nmi.h
node.h
nodemask.h
notifier.h
nsc_gpio.h
nsproxy.h [NET]: Add a network namespace parameter to tasks 2007-10-10 16:49:04 -07:00
nubus.h
numa.h
nvram.h
of.h
of_device.h
of_platform.h
oom.h
oprofile.h
page-flags.h
pagemap.h
pagevec.h
param.h
parport.h
parport_pc.h
parser.h
pata_platform.h
patchkey.h
pci-acpi.h
pci.h PCI: Add 'nodomains' boot option, and pci_domains_supported global 2007-10-12 15:03:18 -07:00
pci_hotplug.h
pci_ids.h Merge master.kernel.org:/pub/scm/linux/kernel/git/gregkh/pci-2.6 2007-10-12 15:50:23 -07:00
pci_regs.h PCI: modify PCI bridge control ISA flag for clarity 2007-10-12 15:03:18 -07:00
pcieport_if.h
pda_power.h
percpu.h
percpu_counter.h
personality.h
pfkeyv2.h
pfn.h
pg.h
phantom.h
phonedev.h
phy.h PHYLIB: IRQ event workqueue handling fixes 2007-10-10 16:53:55 -07:00
phy_fixed.h PHY fixed driver: rework release path and update phy_id notation 2007-10-10 16:53:50 -07:00
pid.h
pid_namespace.h
pipe_fs_i.h
pkt_cls.h
pkt_sched.h [NET_SCHED]: Making rate table lookups more flexible. 2007-10-10 16:49:20 -07:00
pktcdvd.h
platform_device.h Driver core: Make platform_device.id an int 2007-10-12 14:51:07 -07:00
plist.h
pm.h
pm_legacy.h
pmu.h
pnp.h
pnpbios.h
poison.h
poll.h
posix-timers.h
posix_acl.h
posix_acl_xattr.h
posix_types.h
power_supply.h
ppdev.h
ppp-comp.h
ppp_channel.h
ppp_defs.h
prctl.h
preempt.h
prefetch.h
prio_tree.h
proc_fs.h [NET]: Fix race when opening a proc file while a network namespace is exiting. 2007-10-10 16:49:22 -07:00
profile.h
ps2esdi.h
ptrace.h
qnx4_fs.h
qnxtypes.h
quicklist.h
quota.h
quotaio_v1.h
quotaio_v2.h
quotaops.h
radeonfb.h
radix-tree.h
raid_class.h
ramfs.h
random.h
raw.h
rbtree.h
rcupdate.h
reboot.h
reciprocal_div.h
reiserfs_acl.h
reiserfs_fs.h
reiserfs_fs_i.h
reiserfs_fs_sb.h
reiserfs_xattr.h
relay.h
resource.h
resume-trace.h
rfkill.h [RFKILL]: Add support for hardware-only rfkill buttons 2007-10-10 16:54:11 -07:00
rio.h
rio_drv.h
rio_ids.h
rio_regs.h
rmap.h
romfs_fs.h
root_dev.h
rose.h
route.h
rslib.h
rtc-v3020.h
rtc.h
rtmutex.h
rtnetlink.h [IPv6]: Export userland ND options through netlink (RDNSS support) 2007-10-10 21:22:05 -07:00
rwsem-spinlock.h
rwsem.h
rxrpc.h
sc26198.h
scatterlist.h
scc.h
sched.h [NETNS]: CLONE_NEWNET don't use the same clone flag as the pid namespace. 2007-10-10 16:53:30 -07:00
screen_info.h
sctp.h [SCTP]: protocol definitions for SCTP-AUTH implementation 2007-10-10 16:51:28 -07:00
scx200.h
scx200_gpio.h
sdla.h
seccomp.h
securebits.h
security.h
selection.h
selinux.h
selinux_netlink.h
sem.h
seq_file.h [FS] seq_file: Introduce the seq_open_private() 2007-10-10 16:55:33 -07:00
seqlock.h
serial.h
serial167.h
serial_8250.h
serial_core.h
serial_pnx8xxx.h
serial_reg.h
serialP.h
serio.h
shm.h
shmem_fs.h
signal.h
signalfd.h
skbuff.h
slab.h
slab_def.h
slob_def.h
slub_def.h
sm501-regs.h
sm501.h
smb.h
smb_fs.h
smb_fs_i.h
smb_fs_sb.h
smb_mount.h
smbno.h
smp.h
smp_lock.h
snmp.h [TCP] MIB: Count FRTO's successfully detected spurious RTOs 2007-10-10 16:52:39 -07:00
socket.h
sockios.h
som.h
sonet.h
sony-laptop.h
sonypi.h
sort.h
sound.h
soundcard.h
spinlock.h
spinlock_api_smp.h
spinlock_api_up.h
spinlock_types.h
spinlock_types_up.h
spinlock_up.h
splice.h
srcu.h
stacktrace.h
stallion.h
start_kernel.h
stat.h
statfs.h
stddef.h
stop_machine.h
string.h
stringify.h
superhyway.h
suspend.h
svga.h
swap.h Drop 'size' argument from bio_endio and bi_end_io 2007-10-10 09:25:57 +02:00
swapops.h
synclink.h
sys.h
syscalls.h
sysctl.h
sysdev.h
sysfs.h sysfs: add copyrights 2007-10-12 14:51:12 -07:00
sysrq.h
sysv_fs.h
task_io_accounting.h
task_io_accounting_ops.h
taskstats.h
taskstats_kern.h
tc.h
tcp.h [TCP]: Limit processing lost_retrans loop to work-to-do cases 2007-10-11 17:36:13 -07:00
telephony.h
termios.h
textsearch.h
textsearch_fsm.h
tfrc.h
thread_info.h
threads.h
ticable.h
tick.h
tifm.h
time.h
timer.h
timerfd.h
times.h
timex.h
tiocl.h
tipc.h
tipc_config.h
topology.h
toshiba.h
transport_class.h
trdevice.h
tsacct_kern.h
tty.h PTY: add kernel parameter to overwrite legacy pty count 2007-10-12 14:51:09 -07:00
tty_driver.h
tty_flip.h
tty_ldisc.h
types.h
uaccess.h
udf_fs.h
udf_fs_i.h
udf_fs_sb.h
udp.h
ufs_fs.h
ufs_fs_i.h
ufs_fs_sb.h
uinput.h
uio.h
uio_driver.h
ultrasound.h
un.h
unistd.h
unwind.h
usb.h USB: skip autosuspended devices during system resume 2007-10-12 14:55:34 -07:00
usb_usual.h
usbdevice_fs.h
user.h
user_namespace.h
utime.h
uts.h
utsname.h
vermagic.h
vfs.h
via.h
video_decoder.h
video_encoder.h
video_output.h Convert from class_device to device for drivers/video 2007-10-12 14:51:04 -07:00
videodev.h
videodev2.h V4L/DVB (6108): videodev2.h: add new pixel formats for the cx23415 OSD 2007-10-09 22:07:04 -03:00
videotext.h
vmalloc.h
vmstat.h
vt.h
vt_buffer.h
vt_kern.h
wait.h
wanrouter.h
watchdog.h
wireless.h
workqueue.h
writeback.h Fix warnings with !CONFIG_BLOCK 2007-10-10 09:25:57 +02:00
x25.h
xattr.h
xfrm.h
xilinxfb.h [POWERPC] XilinxFB: Allow fixed framebuffer base address 2007-10-12 14:05:17 +10:00
yam.h
zconf.h
zlib.h [ZLIB]: Move bnx2 driver gzip unpacker into zlib. 2007-10-10 16:53:57 -07:00
zorro.h
zorro_ids.h
zutil.h