kernel-hacking-2024-linux-s.../include/asm-powerpc
David Gibson a0e60b2033 [PATCH] powerpc: Merge bitops.h
Here's a revised version.  This re-introduces the set_bits() function
from ppc64, which I removed because I thought it was unused (it exists
on no other arch).  In fact it is used in the powermac interrupt code
(but not on pSeries).

- We use LARXL/STCXL macros to generate the right (32 or 64 bit)
  instructions, similar to LDL/STL from ppc_asm.h, used in fpu.S

- ppc32 previously used a full "sync" barrier at the end of
  test_and_*_bit(), whereas ppc64 used an "isync".  The merged version
  uses "isync", since I believe that's sufficient.

- The ppc64 versions of then minix_*() bitmap functions have changed
  semantics.  Previously on ppc64, these functions were big-endian
  (that is bit 0 was the LSB in the first 64-bit, big-endian word).
  On ppc32 (and x86, for that matter, they were little-endian.  As far
  as I can tell, the big-endian usage was simply wrong - I guess
  no-one ever tried to use minixfs on ppc64.

- On ppc32 find_next_bit() and find_next_zero_bit() are no longer
  inline (they were already out-of-line on ppc64).

- For ppc64, sched_find_first_bit() has moved from mmu_context.h to
  the merged bitops.  What it was doing in mmu_context.h in the first
  place, I have no idea.

- The fls() function is now implemented using the cntlzw instruction
  on ppc64, instead of generic_fls(), as it already was on ppc32.

- For ARCH=ppc, this patch requires adding arch/powerpc/lib to the
  arch/ppc/Makefile.  This in turn requires some changes to
  arch/powerpc/lib/Makefile which didn't correctly handle ARCH=ppc.

Built and running on G5.

Signed-off-by: David Gibson <david@gibson.dropbear.id.au>
Signed-off-by: Paul Mackerras <paulus@samba.org>
2005-11-01 21:49:02 +11:00
..
8253pit.h [PATCH] powerpc: Standardize on _ASM_POWERPC header symbol prefix 2005-09-09 22:11:34 +10:00
a.out.h [PATCH] powerpc: Merge include/asm-ppc*/a.out.h into include/asm-powerpc 2005-09-21 19:21:08 +10:00
agp.h [PATCH] powerpc: Standardize on _ASM_POWERPC header symbol prefix 2005-09-09 22:11:34 +10:00
atomic.h [PATCH] powerpc: merge atomic.h, memory.h 2005-09-25 22:38:46 +10:00
auxvec.h [PATCH] powerpc: Fix compiling of ppc32 2005-09-22 21:03:34 +10:00
backlight.h powerpc: Merged asm/backlight.h 2005-10-11 09:59:38 +10:00
bitops.h [PATCH] powerpc: Merge bitops.h 2005-11-01 21:49:02 +11:00
bug.h [PATCH] powerpc: Merge bug.h 2005-09-21 19:21:09 +10:00
bugs.h [PATCH] powerpc: Make check_bugs() static inline 2005-09-09 22:11:35 +10:00
byteorder.h [PATCH] powerpc: merge byteorder.h 2005-09-28 15:42:53 +10:00
checksum.h [PATCH] powerpc: merge include/asm-ppc*/checksum.h into include/asm-powerpc/checksum.h 2005-10-26 15:54:31 +10:00
cputable.h Merge changes from linux-2.6 by hand 2005-10-22 16:51:34 +10:00
cputime.h [PATCH] Move the identical files from include/asm-ppc{,64} 2005-08-30 13:32:05 +10:00
dbdma.h powerpc: Merge various powermac-related header files. 2005-10-20 20:53:39 +10:00
div64.h [PATCH] Move the identical files from include/asm-ppc{,64} 2005-08-30 13:32:05 +10:00
dma.h [PATCH] powerpc: Merge asm-ppc*/dma.h 2005-09-22 21:03:33 +10:00
elf.h powerpc: make process.c suitable for both 32-bit and 64-bit 2005-10-10 22:29:05 +10:00
emergency-restart.h [PATCH] Move the identical files from include/asm-ppc{,64} 2005-08-30 13:32:05 +10:00
errno.h [PATCH] powerpc: Standardize on _ASM_POWERPC header symbol prefix 2005-09-09 22:11:34 +10:00
fcntl.h [PATCH] Consolidate the asm-ppc*/fcntl.h files into asm-powerpc 2005-09-07 16:57:39 -07:00
firmware.h [PATCH] powerpc: Move firmware.h into include/asm-powerpc 2005-10-26 16:00:26 +10:00
grackle.h powerpc: Pull out MPC106 (grackle) initialization code into its own file 2005-10-26 17:16:38 +10:00
hardirq.h powerpc: Get 64-bit configs to compile with ARCH=powerpc 2005-10-10 22:50:37 +10:00
heathrow.h powerpc: Merge various powermac-related header files. 2005-10-20 20:53:39 +10:00
hw_irq.h powerpc: Get 64-bit configs to compile with ARCH=powerpc 2005-10-10 22:50:37 +10:00
i8259.h powerpc: Merge i8259.c into arch/powerpc/sysdev 2005-10-26 16:47:42 +10:00
ioctl.h [PATCH] powerpc: Standardize on _ASM_POWERPC header symbol prefix 2005-09-09 22:11:34 +10:00
ioctls.h powerpc: remove duplicate ioctl definitions 2005-11-01 14:36:30 +11:00
iommu.h powerpc: move iSeries/iSeries_pci.h to platforms/iseries 2005-10-14 14:51:42 +10:00
ipc.h [PATCH] Move the identical files from include/asm-ppc{,64} 2005-08-30 13:32:05 +10:00
ipcbuf.h [PATCH] powerpc: Merge ipcbuf.h 2005-11-01 21:03:26 +11:00
irq.h [PATCH] powerpc: Rename BPA to Cell 2005-11-01 21:02:44 +11:00
kdebug.h powerpc: clean up after powermac build merge 2005-09-27 13:51:59 +10:00
keylargo.h powerpc: Merge various powermac-related header files. 2005-10-20 20:53:39 +10:00
kmap_types.h [PATCH] powerpc: Merge kmap_types.h 2005-09-19 09:38:49 +10:00
kprobes.h powerpc: clean up after powermac build merge 2005-09-27 13:51:59 +10:00
linkage.h [PATCH] powerpc: Standardize on _ASM_POWERPC header symbol prefix 2005-09-09 22:11:34 +10:00
lmb.h powerpc: Merge in the ppc64 version of the prom code. 2005-10-06 12:06:20 +10:00
local.h [PATCH] Move all the very similar files to asm-powerpc 2005-08-30 13:32:06 +10:00
machdep.h [PATCH] ppc: make phys_mem_access_prot() work with pfns instead of addresses 2005-10-29 14:25:49 +10:00
macio.h powerpc: Merge various powermac-related header files. 2005-10-20 20:53:39 +10:00
mc146818rtc.h [PATCH] powerpc: Standardize on _ASM_POWERPC header symbol prefix 2005-09-09 22:11:34 +10:00
mediabay.h powerpc: Merge various powermac-related header files. 2005-10-20 20:53:39 +10:00
mman.h [PATCH] powerpc: Standardize on _ASM_POWERPC header symbol prefix 2005-09-09 22:11:34 +10:00
module.h [PATCH] powerpc: Standardize on _ASM_POWERPC header symbol prefix 2005-09-09 22:11:34 +10:00
mpic.h powerpc: Move smp_mpic_message_pass into mpic.c 2005-10-20 17:09:51 +10:00
msgbuf.h [PATCH] powerpc: Merge a few more include files 2005-09-09 22:11:35 +10:00
namei.h [PATCH] powerpc: Standardize on _ASM_POWERPC header symbol prefix 2005-09-09 22:11:34 +10:00
of_device.h powerpc: Merge of_device.c and of_device.h 2005-10-06 13:22:17 +10:00
ohare.h powerpc: Merge various powermac-related header files. 2005-10-20 20:53:39 +10:00
oprofile_impl.h [PATCH] powerpc: merge oprofile headers 2005-09-21 19:21:08 +10:00
param.h [PATCH] powerpc: Merge a few more include files 2005-09-09 22:11:35 +10:00
parport.h [PATCH] powerpc: Merge parport.h 2005-10-27 20:50:54 +10:00
percpu.h [PATCH] Move all the very similar files to asm-powerpc 2005-08-30 13:32:06 +10:00
pmac_feature.h powerpc: Merge various powermac-related header files. 2005-10-20 20:53:39 +10:00
pmac_low_i2c.h powerpc: Merge various powermac-related header files. 2005-10-20 20:53:39 +10:00
pmc.h [PATCH] powerpc: Merge ppc64 pmc.[ch] with ppc32 perfmon.[ch] 2005-10-20 16:22:24 +10:00
poll.h [PATCH] powerpc: Standardize on _ASM_POWERPC header symbol prefix 2005-09-09 22:11:34 +10:00
posix_types.h [PATCH] powerpc: Merge asm-ppc*/posix_types.h 2005-09-21 19:21:07 +10:00
ppc-pci.h powerpc: Move iSeries_pci.c to powerpc/platform/iseries 2005-09-28 02:50:25 +10:00
ppc_asm.h powerpc: Merge xmon 2005-10-28 22:53:37 +10:00
processor.h [PATCH] powerpc: Rename BPA to Cell 2005-11-01 21:02:44 +11:00
prom.h powerpc: undeprecate the old OF device tree accessors for now 2005-10-27 16:45:29 +10:00
pSeries_reconfig.h powerpc: Merge in the ppc64 version of the prom code. 2005-10-06 12:06:20 +10:00
reg.h powerpc: Merge xmon 2005-10-28 22:53:37 +10:00
resource.h [PATCH] Move all the very similar files to asm-powerpc 2005-08-30 13:32:06 +10:00
rtas.h [PATCH] powerpc: move rtas_fw.c out of platforms/pseries 2005-11-01 21:02:59 +11:00
rtc.h powerpc: Make set_rtc_time() return error code from lower-level function 2005-10-22 15:57:55 +10:00
rwsem.h Merge ../linux-2.6 by hand 2005-10-31 13:37:12 +11:00
scatterlist.h [PATCH] powerpc: merge scatterlist.h 2005-10-27 16:45:52 +10:00
seccomp.h [PATCH] powerpc: Merge asm-ppc*/seccomp.h, drop TIF_32BIT check 2005-09-25 22:38:45 +10:00
sections.h [PATCH] powerpc: Merge simplified sections.h into asm-powerpc 2005-09-19 09:38:50 +10:00
semaphore.h Merge ../linux-2.6 by hand 2005-10-31 13:37:12 +11:00
sembuf.h [PATCH] powerpc: Standardize on _ASM_POWERPC header symbol prefix 2005-09-09 22:11:34 +10:00
setup.h [PATCH] powerpc: Merge a few more include files 2005-09-09 22:11:35 +10:00
shmbuf.h [PATCH] powerpc: Fix __power64__ typos that should be __powerpc64__ 2005-09-09 22:11:35 +10:00
shmparam.h [PATCH] powerpc: Standardize on _ASM_POWERPC header symbol prefix 2005-09-09 22:11:34 +10:00
siginfo.h [PATCH] ppc64: Add definitions for new PTRACE calls 2005-09-12 17:19:12 +10:00
smu.h powerpc: Merge various powermac-related header files. 2005-10-20 20:53:39 +10:00
socket.h [PATCH] powerpc: Standardize on _ASM_POWERPC header symbol prefix 2005-09-09 22:11:34 +10:00
sockios.h [PATCH] powerpc: Standardize on _ASM_POWERPC header symbol prefix 2005-09-09 22:11:34 +10:00
spinlock_types.h [PATCH] powerpc: merge include/asm-ppc*/spinlock_types.h into include/asm-powerpc/spinlock_types.h 2005-09-21 19:21:09 +10:00
sstep.h powerpc: Make single-stepping emulation (mostly) usable on 32-bit 2005-10-28 22:48:08 +10:00
statfs.h [PATCH] powerpc: merge include/asm-ppc*/statfs.h into include/asm-powerpc/statfs.h 2005-09-21 19:21:10 +10:00
string.h [PATCH] powerpc: Standardize on _ASM_POWERPC header symbol prefix 2005-09-09 22:11:34 +10:00
synch.h [PATCH] powerpc: merge atomic.h, memory.h 2005-09-25 22:38:46 +10:00
system.h powerpc: Fix bug arising from having multiple memory_limit variables 2005-10-31 13:07:02 +11:00
termbits.h [PATCH] powerpc: Standardize on _ASM_POWERPC header symbol prefix 2005-09-09 22:11:34 +10:00
termios.h powerpc: use asm-generic/termios.h 2005-11-01 14:36:55 +11:00
thread_info.h [PATCH] powerpc: Don't use kmalloc() for kernel stacks 2005-10-27 20:51:13 +10:00
time.h powerpc: Fix time code for 601 processors 2005-10-23 17:14:56 +10:00
timex.h [PATCH] ppc32: Fix timekeeping 2005-10-12 08:24:47 -07:00
topology.h [PATCH] powerpc: Merge a few more include files 2005-09-09 22:11:35 +10:00
types.h [PATCH] ppc64: make dma_addr_t 64 bits 2005-10-27 16:45:50 +10:00
uaccess.h powerpc: fix __strnlen_user in merge tree 2005-11-01 14:34:17 +11:00
unaligned.h [PATCH] powerpc: Standardize on _ASM_POWERPC header symbol prefix 2005-09-09 22:11:34 +10:00
uninorth.h powerpc: Merge various powermac-related header files. 2005-10-20 20:53:39 +10:00
unistd.h Merge ../linux-2.6 by hand 2005-10-31 13:37:12 +11:00
user.h [PATCH] powerpc: Merge a few more include files 2005-09-09 22:11:35 +10:00
vga.h [PATCH] powerpc: Merge asm-ppc*/vga.h 2005-09-21 19:21:09 +10:00
vio.h powerpc: Add a shutdown member to vio_driver 2005-10-24 17:40:23 +10:00
xmon.h powerpc: Merge xmon 2005-10-28 22:53:37 +10:00
xor.h [PATCH] Move the identical files from include/asm-ppc{,64} 2005-08-30 13:32:05 +10:00