linux-sg2042/arch
David S. Miller b80e699812 [SPARC64]: Use sun4v VIRQ interfaces as intended.
We were simply concatenating the devhandle and devino and using that
as the cookie, which defeats the entire purpose of the VIRQ hypervisor
interfaces.

Now that we use physical addresses for the INO buckets, we can
allocate them dynamically for VIRQs and encode the cookies as
~__pa(bucket).  This allows us to test for and decode the cookie with
a simple:

	brlz	$reg1, 1f
	 xnor	$reg1, %g0, $reg2

sequence.

This works because bit 64 is never set in traditional
INO vectors, and it is also never set in a physical
address.  So xnor'ing the physical address of the bucket
always gives us a negative number, and thus a unique
condition we can test cheaply.

Inspired by ideas from Greg Onufer.

Signed-off-by: David S. Miller <davem@davemloft.net>
2007-10-13 21:53:16 -07:00
..
alpha alpha: -Werror fixes for sys_titan.c 2007-08-11 15:47:42 -07:00
arm i2c/tps65010: New-style driver updates, part 2 2007-10-13 23:56:30 +02:00
avr32 [AVR32] Fix random segfault with preemption 2007-10-11 13:32:56 +02:00
blackfin Merge master.kernel.org:/pub/scm/linux/kernel/git/gregkh/usb-2.6 2007-10-12 15:49:10 -07:00
cris ide: fix hidden dependencies on CONFIG_IDE_GENERIC 2007-08-20 22:42:54 +02:00
frv FRV: connect up fallocate 2007-08-11 15:47:40 -07:00
h8300 H8/300: Fix misnamed "CONFIG_BLKDEV_RESERVE_ADDRESS" Kconfig variable 2007-09-11 17:21:20 -07:00
i386 Merge master.kernel.org:/pub/scm/linux/kernel/git/gregkh/pci-2.6 2007-10-12 15:50:23 -07:00
ia64 Merge master.kernel.org:/pub/scm/linux/kernel/git/gregkh/driver-2.6 2007-10-12 15:49:37 -07:00
m32r m32r: Rename STI/CLI macros 2007-09-06 11:10:56 +09:00
m68k m68k: Atari keyboard ACIA driver cleanup 2007-10-13 09:41:02 -07:00
m68knommu m68k(nommu): add missing syscalls 2007-09-11 17:21:20 -07:00
mips [MIPS] SMP: Fix use of cpumasks. 2007-10-13 00:53:01 +01:00
parisc [PARISC] Add NOTES section 2007-08-27 00:29:25 -04:00
powerpc missing includes in arch/powerpc/platforms/52xx/lite5200.c 2007-10-13 11:59:57 -07:00
ppc [POWERPC] Remove redundant reference to non-existent CONFIG_BOOTIMG 2007-10-09 21:02:00 +10:00
s390 [S390] pfault: Fix alignment of parameter list. 2007-10-12 16:13:11 +02:00
sh Merge git://git.kernel.org/pub/scm/linux/kernel/git/lethal/sh-2.6 2007-10-13 09:49:04 -07:00
sh64 sh64: mach-cayman: Build fixes. 2007-10-09 15:56:24 +09:00
sparc [SPARC/64]: Move of_platform_driver initialisations: arch/sparc{,64}. 2007-10-13 21:53:12 -07:00
sparc64 [SPARC64]: Use sun4v VIRQ interfaces as intended. 2007-10-13 21:53:16 -07:00
um minimal build fixes for uml (fallout from x86 merge) 2007-10-13 09:57:15 -07:00
v850 PTRACE_POKEDATA consolidation 2007-07-17 10:23:03 -07:00
x86 Delete filenames in comments. 2007-10-13 10:01:23 -07:00
x86_64 Merge master.kernel.org:/pub/scm/linux/kernel/git/gregkh/pci-2.6 2007-10-12 15:50:23 -07:00
xtensa xtensa process.c must #include <linux/fs.h> 2007-08-30 09:58:22 -07:00