]> err.no Git - linux-2.6/log
linux-2.6
19 years agoppc64/powerpc: Fix time initialization on SMP systems
Paul Mackerras [Sat, 22 Oct 2005 04:55:23 +0000 (14:55 +1000)]
ppc64/powerpc: Fix time initialization on SMP systems

This moves smp_space_timers from arch/ppc64/kernel/smp.c to
arch/powerpc/kernel/time.c and makes it initialize last_jiffy[]
instead of paca[].next_jiffy_update_tb, since last_jiffy[] is
now what the time code uses.  It also declares smp_space_timers
in include/asm-powerpc/time.h and gets rid of an ifdef in
div128_by_32.

Signed-off-by: Paul Mackerras <paulus@samba.org>
19 years agoppc64: Fix delivery of RT signals to 32-bit processes.
Paul Mackerras [Sat, 22 Oct 2005 04:46:33 +0000 (14:46 +1000)]
ppc64: Fix delivery of RT signals to 32-bit processes.

An error in merging led to 32-bit processes getting the wrong link
register value on entry to RT signal handlers, and the wrong stack
chain as well.  This fixes it.

Signed-off-by: Paul Mackerras <paulus@samba.org>
19 years agopowerpc: Move agp_special_page export to where it is defined
Paul Mackerras [Sat, 22 Oct 2005 04:42:51 +0000 (14:42 +1000)]
powerpc: Move agp_special_page export to where it is defined

... instead of exporting it in arch/*/kernel/ppc_ksyms.c.

Signed-off-by: Paul Mackerras <paulus@samba.org>
19 years ago[PATCH] powerpc: Fix mmap returning 64 bit addresses
Michael Ellerman [Fri, 21 Oct 2005 06:01:34 +0000 (16:01 +1000)]
[PATCH] powerpc: Fix mmap returning 64 bit addresses

The merge of syscalls.c & sys_ppc32.c (30286ef6e044bc3d9019c3d8b900572e3fa05e65)
broke mmap, if the mmap returned a 64 bit address.

do_mmap2 was taking the return value from do_mmap_pgoff (an unsigned long), and
storing it in an int, before returning it to sys_mmap as an unsigned long. So
we were losing the high bits of the address.

You would have thought the compiler could catch this for us ...

Signed-off-by: Michael Ellerman <michael@ellerman.id.au>
Signed-off-by: Paul Mackerras <paulus@samba.org>
19 years ago[PATCH] powerpc: Don't blow away load_addr in start_thread
Michael Ellerman [Fri, 21 Oct 2005 06:01:33 +0000 (16:01 +1000)]
[PATCH] powerpc: Don't blow away load_addr in start_thread

The patch to make process.c work for 32-bit and 64-bit
(06d67d54741a5bfefa31945ef195dfa748c29025) broke some 64-bit binaries.
We were blowing away load_addr in gpr[2], so we weren't properly relocating
the entry point.

Signed-off-by: Michael Ellerman <michael@ellerman.id.au>
Signed-off-by: Paul Mackerras <paulus@samba.org>
19 years ago[PATCH] powerpc: Merge thread_info.h
David Gibson [Fri, 21 Oct 2005 05:45:50 +0000 (15:45 +1000)]
[PATCH] powerpc: Merge thread_info.h

Merge ppc32 and ppc64 versions of thread_info.h.  They were pretty
similar already, the chief changes are:

- Instead of inline asm to implement current_thread_info(),
which needs to be different for ppc32 and ppc64, we use C with an
asm("r1") register variable.  gcc turns it into the same asm as we
used to have for both platforms.
- We replace ppc32's 'local_flags' with the ppc64
'syscall_noerror' field.  The noerror flag was in fact the only thing
in the local_flags field anyway, so the ppc64 approach is simpler, and
means we only need a load-immediate/store instead of load/mask/store
when clearing the flag.
- In readiness for 64k pages, when THREAD_SIZE will be less
than a page, ppc64 used kmalloc() rather than get_free_pages() to
allocate the kernel stack.  With this patch we do the same for ppc32,
since there's no strong reason not to.
- For ppc64, we no longer export THREAD_SHIFT and THREAD_SIZE
via asm-offsets, thread_info.h can now be safely included in asm, as
on ppc32.

Built and booted on G4 Powerbook (ARCH=ppc and ARCH=powerpc) and
Power5 (ARCH=ppc64 and ARCH=powerpc).

Signed-off-by: David Gibson <david@gibson.dropbear.id.au>
Signed-off-by: Paul Mackerras <paulus@samba.org>
19 years ago[PATCH] Fix broken initialization of conswitchp for ARCH=ppc64
David Gibson [Fri, 21 Oct 2005 05:43:42 +0000 (15:43 +1000)]
[PATCH] Fix broken initialization of conswitchp for ARCH=ppc64

In the merge tree, commit 0458060c1c59c5378d8fb5daabe18cf4681c35cd
broke boot on some machines because the initialization of conswitchp
was moved to arch/powerpc/kernel/setup_64.c, but a corresponding copy
was not added to arch/ppc64/kernel/setup.c.  This patch fixes it.

Signed-off-by: David Gibson <dwg@au1.ibm.com>
Signed-off-by: Paul Mackerras <paulus@samba.org>
19 years agopowerpc: Fix some bugs in the new merged time code
Paul Mackerras [Thu, 20 Oct 2005 12:33:06 +0000 (22:33 +1000)]
powerpc: Fix some bugs in the new merged time code

I had the sense of the test for when to use the old 601-style RTC
registers inverted.  pmac_calibrate_decr and via_calibrate_decr
weren't setting ppc_tb_freq, on which all the further calculations
depended.  Lastly, update_gtod was losing the top 32 bits of
the new tb_to_xs value.

Signed-off-by: Paul Mackerras <paulus@samba.org>
19 years agopowerpc/ppc/ppc64: Various compile fixes.
Paul Mackerras [Thu, 20 Oct 2005 11:10:09 +0000 (21:10 +1000)]
powerpc/ppc/ppc64: Various compile fixes.

This declares powersave_nap in system.h and makes it an int everywhere,
fixes typos for the maple platform, fixes a couple of places where
I missed removing the last two arguments from a message_pass function,
and makes ppc64 consistent with ppc32 in the type of the
pci_bridge.cfg_data field.

Signed-off-by: Paul Mackerras <paulus@samba.org>
19 years agoppc64: Use the merged mpic.c
Paul Mackerras [Thu, 20 Oct 2005 11:06:44 +0000 (21:06 +1000)]
ppc64: Use the merged mpic.c

This means we now compile in arch/powerpc/sysdev for ARCH=ppc64.

Signed-off-by: Paul Mackerras <paulus@samba.org>
19 years agopowerpc: Move some calculations from xxx_calibrate_decr to time_init
Paul Mackerras [Thu, 20 Oct 2005 11:04:51 +0000 (21:04 +1000)]
powerpc: Move some calculations from xxx_calibrate_decr to time_init

Previously the individual xxx_calibrate_decr functions would each
print the timebase and cpu frequency and calculate several values
such as tb_to_us and tb_to_xs.  This moves those printks and
calculations into time_init just after the call to the platform's
calibrate_decr function.

Signed-off-by: Paul Mackerras <paulus@samba.org>
19 years agoppc64: Move init_boot_text call and conswitchp init into setup_arch
Paul Mackerras [Thu, 20 Oct 2005 11:00:20 +0000 (21:00 +1000)]
ppc64: Move init_boot_text call and conswitchp init into setup_arch

This way they get done in one place for all platforms, and it is
more consistent with what ppc32 does.

Signed-off-by: Paul Mackerras <paulus@samba.org>
19 years agoppc: rename pci_assign_all_busses to pci_assign_all_buses
Paul Mackerras [Thu, 20 Oct 2005 10:57:05 +0000 (20:57 +1000)]
ppc: rename pci_assign_all_busses to pci_assign_all_buses

... for consistency with ppc64 and to make merging easier.

Signed-off-by: Paul Mackerras <paulus@samba.org>
19 years agopowerpc: Merge various powermac-related header files.
Paul Mackerras [Thu, 20 Oct 2005 10:53:39 +0000 (20:53 +1000)]
powerpc: Merge various powermac-related header files.

Except for smu.h, which moved from asm-ppc64 to asm-powerpc, all
of these moved from asm-ppc to asm-powerpc.  In each case the
asm-ppc64 version (if there was one) was just a single line
including the asm-ppc version.

Signed-off-by: Paul Mackerras <paulus@samba.org>
19 years agopowerpc: Fix places where ppc_md.show_[per]cpuinfo was treated as int
Paul Mackerras [Thu, 20 Oct 2005 10:48:19 +0000 (20:48 +1000)]
powerpc: Fix places where ppc_md.show_[per]cpuinfo was treated as int

I missed a few places where ppc code was still assuming that the
ppc_md.show_[per]cpuinfo functions returned int.

Signed-off-by: Paul Mackerras <paulus@samba.org>
19 years agopowerpc: Move smp_mpic_message_pass into mpic.c
Paul Mackerras [Thu, 20 Oct 2005 07:09:51 +0000 (17:09 +1000)]
powerpc: Move smp_mpic_message_pass into mpic.c

Having it here rather than in arch/ppc64/kernel/smp.c means that
we can use it on 32-bit SMP systems easily with ARCH=powerpc.

Signed-off-by: Paul Mackerras <paulus@samba.org>
19 years agoppc64: Change ppc_md.get_cpuinfo to ppc_md.show_cpuinfo
Paul Mackerras [Thu, 20 Oct 2005 07:02:01 +0000 (17:02 +1000)]
ppc64: Change ppc_md.get_cpuinfo to ppc_md.show_cpuinfo

... for consistency with ppc32; also add in ppc32's show_percpuinfo
function.

Signed-off-by: Paul Mackerras <paulus@samba.org>
19 years ago[PATCH] powerpc: Merge types.h
Becky Bruce [Wed, 19 Oct 2005 23:45:03 +0000 (18:45 -0500)]
[PATCH] powerpc: Merge types.h

This patch merges types.h into include/asm-powerpc. The only real change is
the removal of the include of linux/config.h from the 32-bit version - it
doesn't appear to be necessary.

This patch has been built on several different 32 and 64-bit platforms,
and booted on mpc8540_ads.

Signed-off-by: Becky Bruce <becky.bruce@freescale.com>
Signed-off-by: Kumar Gala <kumar.gala@freescale.com>
Signed-off-by: Paul Mackerras <paulus@samba.org>
19 years ago[PATCH] powerpc: Merge ppc64 pmc.[ch] with ppc32 perfmon.[ch]
David Gibson [Wed, 19 Oct 2005 04:53:32 +0000 (14:53 +1000)]
[PATCH] powerpc: Merge ppc64 pmc.[ch] with ppc32 perfmon.[ch]

This patches the ppc32 and ppc64 versions of the headers and .c files
with helper functions for manipulating the performance counting
hardware.  As a side effect, it removes use of the term "perfmon" from
ppc32, thus avoiding confusion with the unrelated performance counter
interface from HP Labs also called "perfmon".

Built, but not booted, for g5, pSeries, iSeries, and 32-bit Powermac
with both ARCH=powerpc and ARCH=ppc{,64} as appropriate.

Signed-off-by: David Gibson <dwg@au1.ibm.com>
Signed-off-by: Paul Mackerras <paulus@samba.org>
19 years ago[PATCH] ppc32: replace use of _GLOBAL with .globl for ppc32
Kumar Gala [Tue, 18 Oct 2005 22:42:41 +0000 (17:42 -0500)]
[PATCH] ppc32: replace use of _GLOBAL with .globl for ppc32

The _GLOBAL() macro is for text symbols only. Changed to using
.globl for .data symbols.  This is also needed in ppc32 land
to allow FSL Book-E, 40x, and 44x to work.

Signed-off-by: Kumar K. Gala <kumar.gala@freescale.com>
Signed-off-by: Paul Mackerras <paulus@samba.org>
19 years ago[PATCH] powerpc: Some more fixes to allow building for a Book-E processor
Kumar Gala [Tue, 18 Oct 2005 22:42:09 +0000 (17:42 -0500)]
[PATCH] powerpc: Some more fixes to allow building for a Book-E processor

Some minor fixes that are needed if we are building for a book-e
processor.

Signed-off-by: Kumar K. Gala <kumar.gala@freescale.com>
Signed-off-by: Paul Mackerras <paulus@samba.org>
19 years agopowerpc: Fix a corner case in __div64_32
Paul Mackerras [Wed, 19 Oct 2005 23:37:02 +0000 (09:37 +1000)]
powerpc: Fix a corner case in __div64_32

The code was incorrectly doing a division by 0 in the case where
the denominator was 0x100000000 and the divisor was 0xffffffff.
Thanks to Fred Liu of Motorola for pointing this out.

Signed-off-by: Paul Mackerras <paulus@samba.org>
19 years agopowerpc: Fix a branch-too-far link error for 32-bit targets
Paul Mackerras [Wed, 19 Oct 2005 23:24:18 +0000 (09:24 +1000)]
powerpc: Fix a branch-too-far link error for 32-bit targets

Signed-off-by: Paul Mackerras <paulus@samba.org>
19 years agopowerpc: Merge time.c and asm/time.h.
Paul Mackerras [Wed, 19 Oct 2005 23:23:26 +0000 (09:23 +1000)]
powerpc: Merge time.c and asm/time.h.

We now use the merged time.c for both 32-bit and 64-bit compilation
with ARCH=powerpc, and for ARCH=ppc64, but not for ARCH=ppc32.
This removes setup_default_decr (folds its function into time_init)
and moves wakeup_decrementer into time.c.  This also makes an
asm-powerpc/rtc.h.

Signed-off-by: Paul Mackerras <paulus@samba.org>
19 years agoppc64: Minor compilation fixes
Paul Mackerras [Wed, 19 Oct 2005 23:15:05 +0000 (09:15 +1000)]
ppc64: Minor compilation fixes

This defines CONFIG_PPC_STD_MMU for ppc64, changes an instance of
sys32_ to compat_sys_ in the ppc64 syscall table, and removes a
reference to a non-existent arch/powerpc/xmon/Makefile.

Signed-off-by: Paul Mackerras <paulus@samba.org>
19 years agopowerpc: Move ptrace32.c from arch/ppc64 to arch/powerpc
Paul Mackerras [Wed, 19 Oct 2005 23:11:29 +0000 (09:11 +1000)]
powerpc: Move ptrace32.c from arch/ppc64 to arch/powerpc

Also corrected my email address in ptrace.c and updated the comments
at the top of ptrace32.c.

Signed-off-by: Paul Mackerras <paulus@samba.org>
19 years agopowerpc: Eliminate a compile warning in signal_32.c
Paul Mackerras [Wed, 19 Oct 2005 13:13:04 +0000 (23:13 +1000)]
powerpc: Eliminate a compile warning in signal_32.c

The second argument of get_sigset_t needed to have the const keyword.

Signed-off-by: Paul Mackerras <paulus@samba.org>
19 years agoppc: declare smp_ops in asm/smp.h, since platform setup code needs it
Paul Mackerras [Wed, 19 Oct 2005 13:12:01 +0000 (23:12 +1000)]
ppc: declare smp_ops in asm/smp.h, since platform setup code needs it

Signed-off-by: Paul Mackerras <paulus@samba.org>
19 years agopowerpc: Merge machdep.h
Paul Mackerras [Wed, 19 Oct 2005 13:11:21 +0000 (23:11 +1000)]
powerpc: Merge machdep.h

A few things change for consistency between ppc32 and ppc64:
idle functions return void; *_get_boot_time functions return
unsigned long (i.e. time_t) rather than filling in a struct rtc_time
(since that's useful to the callers and easier for pmac to
generate); *_get_rtc_time and *_set_rtc_time functions take
a struct rtc_time; irq_canonicalize is gone; nvram_sync returns
void.

Signed-off-by: Paul Mackerras <paulus@samba.org>
19 years agoppc: Minor smp changes for consistency with ppc64
Paul Mackerras [Wed, 19 Oct 2005 11:44:51 +0000 (21:44 +1000)]
ppc: Minor smp changes for consistency with ppc64

This makes platform code use the smp_ops variable directly instead
of ppc_md.smp_ops, removes the two unused `data' and `wait' arguments
from the *_message_pass() functions, and removes the call to the
never-implemented smp_ops->space_timers() function.

Signed-off-by: Paul Mackerras <paulus@samba.org>
19 years agoMerge rsync://oak/kernels/iseries/work/
Paul Mackerras [Tue, 18 Oct 2005 04:53:41 +0000 (14:53 +1000)]
Merge rsync://oak/kernels/iseries/work/

19 years agopowerpc: change sys32_ to compat_sys_
Stephen Rothwell [Tue, 18 Oct 2005 04:51:57 +0000 (14:51 +1000)]
powerpc: change sys32_ to compat_sys_

This allows us to get rid of one type of entry in systbl.S.

In passing we remove the duplicate compat_sys_getdents and
compat_sys_utimes for which there are generic versions.

Signed-off-by: Stephen Rothwell <sfr@canb.auug.org.au>
19 years agopowerpc: Fix various compile errors with ARCH=ppc, ppc64 and powerpc
Paul Mackerras [Tue, 18 Oct 2005 04:19:41 +0000 (14:19 +1000)]
powerpc: Fix various compile errors with ARCH=ppc, ppc64 and powerpc

This makes ppc use the syscalls.c from arch/powerpc/kernel, exports
copy_and_flush from head_32.S for use by prom_init.c (ARCH=powerpc),
and consolidates the sys_fadvise64_64 implementations for 32-bit.

Signed-off-by: Paul Mackerras <paulus@samba.org>
19 years agopowerpc: merge ppc signal.c and ppc64 signal32.c
Stephen Rothwell [Tue, 18 Oct 2005 01:17:58 +0000 (11:17 +1000)]
powerpc: merge ppc signal.c and ppc64 signal32.c

Signed-off-by: Stephen Rothwell <sfr@canb.auug.org.au>
19 years ago[PATCH] powerpc: Another maple merge tree fix
David Gibson [Thu, 13 Oct 2005 05:46:22 +0000 (15:46 +1000)]
[PATCH] powerpc: Another maple merge tree fix

With ARCH=powerpc, a spurious ifdef in prom_init prevented the
seconday hold loop being correctly copied down on Maple.  With this
patch, Maple boots with ARCH=powerpc

Signed-off-by: David Gibson <dwg@au1.ibm.com>
Signed-off-by: Paul Mackerras <paulus@samba.org>
19 years ago[PATCH] powerpc: Fix use of LOADBASE in merge tree
David Gibson [Thu, 13 Oct 2005 04:28:58 +0000 (14:28 +1000)]
[PATCH] powerpc: Fix use of LOADBASE in merge tree

The merge-tree version of LOADBASE actually loads the whole given
address from the toc for ppc64.  The matching OFF macro adjust for
this, using an offset of 0 for ppc64, but we weren't using that in
power4_idle.

Signed-off-by: David Gibson <dwg@au1.ibm.com>
Signed-off-by: Paul Mackerras <paulus@samba.org>
19 years ago[PATCH] powerpc: replace use of _GLOBAL with .globl
Kumar Gala [Wed, 12 Oct 2005 04:54:00 +0000 (23:54 -0500)]
[PATCH] powerpc: replace use of _GLOBAL with .globl

The _GLOBAL() macro is for text symbols only. Changed to using
.globl for .data symbols.

Signed-off-by: Kumar K. Gala <kumar.gala@freescale.com>
Signed-off-by: Paul Mackerras <paulus@samba.org>
19 years agopowerpc: Make CONFIG_PROC_DEVICETREE independent of CONFIG_PPC_OF
Paul Mackerras [Mon, 17 Oct 2005 10:14:59 +0000 (20:14 +1000)]
powerpc: Make CONFIG_PROC_DEVICETREE independent of CONFIG_PPC_OF

... since all platforms will have a device tree.

Signed-off-by: Paul Mackerras <paulus@samba.org>
19 years agopowerpc: Clear the BSS at the start of early_init with ARCH=ppc
Paul Mackerras [Mon, 17 Oct 2005 10:13:47 +0000 (20:13 +1000)]
powerpc: Clear the BSS at the start of early_init with ARCH=ppc

Signed-off-by: Paul Mackerras <paulus@samba.org>
19 years agoppc: Fix various compile errors resulting from ptrace.c merge
Paul Mackerras [Mon, 17 Oct 2005 10:12:39 +0000 (20:12 +1000)]
ppc: Fix various compile errors resulting from ptrace.c merge

This introduces flush_{fp,altivec,spe}_to_thread and fixes a
branch-too-far error in linking.

Signed-off-by: Paul Mackerras <paulus@samba.org>
19 years agoppc: Use the merged of_device.c from arch/powerpc/kernel
Paul Mackerras [Mon, 17 Oct 2005 10:11:03 +0000 (20:11 +1000)]
ppc: Use the merged of_device.c from arch/powerpc/kernel

Signed-off-by: Paul Mackerras <paulus@samba.org>
19 years agopowerpc: Merge syscalls.c and sys_ppc32.c.
Paul Mackerras [Mon, 17 Oct 2005 10:10:13 +0000 (20:10 +1000)]
powerpc: Merge syscalls.c and sys_ppc32.c.

Signed-off-by: Paul Mackerras <paulus@samba.org>
19 years agopowerpc: Initialize btext subsystem later, after prom_init
Paul Mackerras [Mon, 17 Oct 2005 09:20:46 +0000 (19:20 +1000)]
powerpc: Initialize btext subsystem later, after prom_init

We were initializing the btext stuff from prom_init(), thus breaking
the rule that all communication between prom_init() and the rest of
the kernel has to be via the flattened device tree.  This removes
the btext initialization calls from prom_init() and initializes it
instead after the device tree is unflattened.  It would be nice to
do it earlier, but that needs some more infrastructure to find the
properties we need in the flattened device tree.

Signed-off-by: Paul Mackerras <paulus@samba.org>
19 years agoppc32: use L1_CACHE_SHIFT/L1_CACHE_BYTES
Stephen Rothwell [Mon, 17 Oct 2005 01:50:32 +0000 (11:50 +1000)]
ppc32: use L1_CACHE_SHIFT/L1_CACHE_BYTES

instead of L1_CACHE_LINE_SIZE and LG_L1_CACHE_LINE_SIZE

Signed-off-by: Stephen Rothwell <sfr@canb.auug.org.au>
19 years agopowerpc: fix 32bit LOADADDR macro
Stephen Rothwell [Mon, 17 Oct 2005 01:46:53 +0000 (11:46 +1000)]
powerpc: fix 32bit LOADADDR macro

I forgot a semicolon.

Signed-off-by: Stephen Rothwell <sfr@canb.auug.org.au>
19 years agopowerpc: move iSeries/HvCallPci.h to platforms/iseries/call_pci.h
Stephen Rothwell [Fri, 14 Oct 2005 07:16:17 +0000 (17:16 +1000)]
powerpc: move iSeries/HvCallPci.h to platforms/iseries/call_pci.h

Signed-off-by: Stephen Rothwell <sfr@canb.auug.org.au>
19 years agopowerpc: move iSeries/HvCallHpt.h to platforms/iseries/call_hpt.h
Stephen Rothwell [Fri, 14 Oct 2005 07:09:16 +0000 (17:09 +1000)]
powerpc: move iSeries/HvCallHpt.h to platforms/iseries/call_hpt.h

Signed-off-by: Stephen Rothwell <sfr@canb.auug.org.au>
19 years agopowerpc: eliminate DsaAddr from pci_dn
Stephen Rothwell [Fri, 14 Oct 2005 06:49:58 +0000 (16:49 +1000)]
powerpc: eliminate DsaAddr from pci_dn

Signed-off-by: Stephen Rothwell <sfr@canb.auug.org.au>
19 years agopowerpc: remove ISERIES_[SUB]BUS macros
Stephen Rothwell [Fri, 14 Oct 2005 05:06:10 +0000 (15:06 +1000)]
powerpc: remove ISERIES_[SUB]BUS macros

This allows us to simplify a couple of things.

Signed-off-by: Stephen Rothwell <sfr@canb.auug.org.au>
19 years agopowerpc: move iSeries/iSeries_pci.h to platforms/iseries
Stephen Rothwell [Fri, 14 Oct 2005 04:51:42 +0000 (14:51 +1000)]
powerpc: move iSeries/iSeries_pci.h to platforms/iseries

The only real user of this file outside platforms/iseries was
drivers/net/iseries_veth.c but all it wanted was ISERIES_HV_ADDR()
so we move that to abs_addr.h (and lowercase it).

Signed-off-by: Stephen Rothwell <sfr@canb.auug.org.au>
19 years agopowerpc: fix uname -m
Stephen Rothwell [Thu, 13 Oct 2005 06:14:15 +0000 (16:14 +1000)]
powerpc: fix uname -m

It will now give ppc64 on 64bit platforms and ppc on 32bit
platforms.

Signed-off-by: Stephen Rothwell <sfr@canb.auug.org.au>
19 years agopowerpc: merge ptrace.c
Stephen Rothwell [Thu, 13 Oct 2005 05:52:04 +0000 (15:52 +1000)]
powerpc: merge ptrace.c

Signed-off-by: Stephen Rothwell <sfr@canb.auug.org.au>
19 years agoppc64: use powerpc of_device.c
Stephen Rothwell [Thu, 13 Oct 2005 05:16:25 +0000 (15:16 +1000)]
ppc64: use powerpc of_device.c

Signed-off-by: Stephen Rothwell <sfr@canb.auug.org.au>
19 years agoppc64: fix arch/ppc64/kernel/Makefile
Stephen Rothwell [Thu, 13 Oct 2005 04:12:25 +0000 (14:12 +1000)]
ppc64: fix arch/ppc64/kernel/Makefile

Signed-off-by: Stephen Rothwell <sfr@canb.auug.org.au>
19 years agoppc64: merge binfmt_elf32.c
Stephen Rothwell [Thu, 13 Oct 2005 03:40:54 +0000 (13:40 +1000)]
ppc64: merge binfmt_elf32.c

and use start_thread for both 32 and 64 bit bineries.

Signed-off-by: Stephen Rothwell <sfr@canb.auug.org.au>
19 years agopowerpc: make 64 bit binaries work
Stephen Rothwell [Wed, 12 Oct 2005 13:23:44 +0000 (23:23 +1000)]
powerpc: make 64 bit binaries work

Signed-off-by: Stephen Rothwell <sfr@canb.auug.org.au>
19 years agopowerpc: create 32 bit LOADADDR macro
Stephen Rothwell [Wed, 12 Oct 2005 07:44:55 +0000 (17:44 +1000)]
powerpc: create 32 bit LOADADDR macro

and use it in misc_32.S

Signed-off-by: Stephen Rothwell <sfr@canb.auug.org.au>
19 years agopowerpc: consolidate cputable.c
Stephen Rothwell [Wed, 12 Oct 2005 05:55:09 +0000 (15:55 +1000)]
powerpc: consolidate cputable.c

Also simplify arch/ppc64/kernel/Makefile

Signed-off-by: Stephen Rothwell <sfr@canb.auug.org.au>
19 years agoppc64: Remove duplicate versions of some headers
Paul Mackerras [Wed, 12 Oct 2005 07:03:36 +0000 (17:03 +1000)]
ppc64: Remove duplicate versions of some headers

This removes three headers from include/asm-ppc64 that are now in
include/asm-powerpc and are sufficiently similar that they can be
used with ARCH=ppc64.

Signed-off-by: Paul Mackerras <paulus@samba.org>
19 years agopowerpc: Bring in some changes made to arch/ppc and include/asm-ppc64
Paul Mackerras [Wed, 12 Oct 2005 07:01:50 +0000 (17:01 +1000)]
powerpc: Bring in some changes made to arch/ppc and include/asm-ppc64

Recent commits upstream have changed files which are currently
duplicated in arch/powerpc and include/asm-powerpc.  This updates
them with the corresponding changes.

Signed-off-by: Paul Mackerras <paulus@samba.org>
19 years agopowerpc: Move default hash table size calculation to hash_utils_64.c
Paul Mackerras [Wed, 12 Oct 2005 06:58:53 +0000 (16:58 +1000)]
powerpc: Move default hash table size calculation to hash_utils_64.c

We weren't computing the size of the hash table correctly on iSeries
because the relevant code in prom.c was #ifdef CONFIG_PPC_PSERIES.
This moves the code to hash_utils_64.c, makes it unconditional, and
cleans it up a bit.

Signed-off-by: Paul Mackerras <paulus@samba.org>
19 years agoMerge from Linus' tree
Paul Mackerras [Wed, 12 Oct 2005 04:43:32 +0000 (14:43 +1000)]
Merge from Linus' tree

19 years agopowerpc: make iSeries boot again
Stephen Rothwell [Tue, 11 Oct 2005 09:40:20 +0000 (19:40 +1000)]
powerpc: make iSeries boot again

On ARCH=ppc64 we were getting htab_hash_mask recalculated
to the correct value for our particular machine by accident.
In the merge tree, that code was commented out, so htab_hash_mask
was being corrupted.

We now set ppc64_pft_size instead which gets htab_has_mask
calculated correctly for us later.  We should put an
ibm,pft-size property in the device tree at some point.

Also set -mno-minimal-toc in some makefiles.
Allow iSeries to configure PROC_DEVICETREE.

Signed-off-by: Stephen Rothwell <sfr@canb.auug.org.au>
19 years agopowerpc: pci_dn's should point to their device_node's
Stephen Rothwell [Mon, 10 Oct 2005 07:10:54 +0000 (17:10 +1000)]
powerpc: pci_dn's should point to their device_node's

Signed-off-by: Stephen Rothwell <sfr@canb.auug.org.au>
19 years agoMerge master.kernel.org:/pub/scm/linux/kernel/git/davem/sparc-2.6
Linus Torvalds [Tue, 11 Oct 2005 23:39:24 +0000 (16:39 -0700)]
Merge master.kernel.org:/pub/scm/linux/kernel/git/davem/sparc-2.6

19 years ago[SPARC64]: Fix net booting on Ultra5
David S. Miller [Tue, 11 Oct 2005 22:45:16 +0000 (15:45 -0700)]
[SPARC64]: Fix net booting on Ultra5

We were not doing alignment properly when remapping the kernel image.

What we want is a 4MB aligned physical address to map at KERNBASE.
Mistakedly we were 4MB aligning the virtual address where the kernel
initially sits, that's wrong.

Instead, we should PAGE align the virtual address, then 4MB align the
physical address result the prom gives to us.

Signed-off-by: David S. Miller <davem@davemloft.net>
19 years ago[PATCH] Don't map the same page too much
Hugh Dickins [Tue, 11 Oct 2005 18:16:26 +0000 (19:16 +0100)]
[PATCH] Don't map the same page too much

Refuse to install a page into a mapping if the mapping count is already
ridiculously large.

You probably cannot trigger this on 32-bit architectures, but on a
64-bit setup we should protect against it.

Signed-off-by: Hugh Dickins <hugh@veritas.com>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
19 years ago[PATCH] ppc64: Add R_PPC64_TOC16 module reloc
Peter Bergner [Tue, 11 Oct 2005 16:28:24 +0000 (09:28 -0700)]
[PATCH] ppc64: Add R_PPC64_TOC16 module reloc

Newer gcc's are generating this relocation, so the module loader needs to
handle it.

Signed-off-by: Peter Bergner <bergner@vnet.ibm.com>
Signed-off-by: Anton Blanchard <anton@samba.org>
Signed-off-by: Andrew Morton <akpm@osdl.org>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
19 years ago[PATCH] V4L: Enable s-video input on DViCO FusionHDTV5 Lite
Michael Krufky [Tue, 11 Oct 2005 16:28:24 +0000 (09:28 -0700)]
[PATCH] V4L: Enable s-video input on DViCO FusionHDTV5 Lite

* bttv-cards.c:
- Enable S-Video input on DViCO FusionHDTV5 Lite

Signed-off-by: Michael Krufky <mkrufky@m1k.net>
Signed-off-by: Mauro Carvalho Chehab <mchehab@brturbo.com.br>
Signed-off-by: Andrew Morton <akpm@osdl.org>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
19 years ago[PATCH] m32r: trap handler code for illegal traps
Hirokazu Takata [Tue, 11 Oct 2005 15:29:09 +0000 (08:29 -0700)]
[PATCH] m32r: trap handler code for illegal traps

This patch prevents illegal traps from causing m32r kernel's infinite loop
execution.

Signed-off-by: Naoto Sugai <sugai@isl.melco.co.jp>
Signed-off-by: Hirokazu Takata <takata@linux-m32r.org>
Signed-off-by: Andrew Morton <akpm@osdl.org>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
19 years ago[PATCH] binfmt_elf bss padding fix
akpm@osdl.org [Tue, 11 Oct 2005 15:29:08 +0000 (08:29 -0700)]
[PATCH] binfmt_elf bss padding fix

Nir Tzachar <tzachar@cs.bgu.ac.il> points out that if an ELF file specifies a
zero-length bss at a whacky address, we cannot load that binary because
padzero() tries to zero out the end of the page at the whacky address, and
that may not be writeable.

See also http://bugzilla.kernel.org/show_bug.cgi?id=5411

So teach load_elf_binary() to skip the bss settng altogether if the elf file
has a zero-length bss segment.

Cc: Roland McGrath <roland@redhat.com>
Cc: Daniel Jacobowitz <dan@debian.org>
Signed-off-by: Andrew Morton <akpm@osdl.org>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
19 years ago[PATCH] ppc highmem fix
Paolo Galtieri [Tue, 11 Oct 2005 15:29:07 +0000 (08:29 -0700)]
[PATCH] ppc highmem fix

I've noticed that the calculations for seg_size and nr_segs in
__dma_sync_page_highmem() (arch/ppc/kernel/dma-mapping.c) are wrong.  The
incorrect calculations can result in either an oops or a panic when running
fsck depending on the size of the partition.

The problem with the seg_size calculation is that it can result in a
negative number if size is offset > size.  The problem with the nr_segs
caculation is returns the wrong number of segments, e.g.  it returns 1 when
size is 200 and offset is 4095, when it should return 2 or more.

Acked-by: Benjamin Herrenschmidt <benh@kernel.crashing.org>
Signed-off-by: Andrew Morton <akpm@osdl.org>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
19 years ago[PATCH] madvise: Avoid returning error code -EBADF for anonymous mappings
Suzuki [Tue, 11 Oct 2005 15:29:06 +0000 (08:29 -0700)]
[PATCH] madvise: Avoid returning error code -EBADF for anonymous mappings

Revert this recent correctness change: Douglas Crosher <dcrosher@scieneer.com>
reported that it broke an existing application, and that madvise() works
without error on anonymous mappings on Solaris.

This means that madvise() will remain non-standards-compliant: we should
return -EBADF for all requests against non-file-backed vma's, but Linux only
does this for MADV_WILLNEED requests.

Signed-off-by: Suzuki K P <suzuki@in.ibm.com>
Signed-off-by: Andrew Morton <akpm@osdl.org>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
19 years ago[PATCH] nfsacl: Solaris VxFS compatibility fix
Andreas Gruenbacher [Tue, 11 Oct 2005 15:29:05 +0000 (08:29 -0700)]
[PATCH] nfsacl: Solaris VxFS compatibility fix

Here is a compatibility fix between Linux and Solaris when used with VxFS
filesystems: Solaris usually accepts acl entries in any order, but with
VxFS it replies with NFSERR_INVAL when it sees a four-entry acl that is not
in canonical form.  It may also fail with other non-canonical acls -- I
can't tell, because that case never triggers: We only send non-canonical
acls when we fake up an ACL_MASK entry.

Instead of adding fake ACL_MASK entries at the end, inserting them in the
correct position makes Solaris+VxFS happy.  The Linux client and server
sides don't care about entry order.  The three-entry-acl special case in
which we need a fake ACL_MASK entry was handled in xdr_nfsace_encode.  The
patch moves this into nfsacl_encode.

Signed-off-by: Andreas Gruenbacher <agruen@suse.de>
Acked-by: Trond Myklebust <trond.myklebust@fys.uio.no>
Signed-off-by: Andrew Morton <akpm@osdl.org>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
19 years ago[PATCH] v9fs: remove additional buffer allocation from v9fs_file_read and v9fs_file_write
Latchesar Ionkov [Tue, 11 Oct 2005 15:29:03 +0000 (08:29 -0700)]
[PATCH] v9fs: remove additional buffer allocation from v9fs_file_read and v9fs_file_write

v9fs_file_read and v9fs_file_write use kmalloc to allocate buffers as big
as the data buffer received as parameter.  kmalloc cannot be used to
allocate buffers bigger than 128K, so reading/writing data in chunks bigger
than 128k fails.

This patch reorganizes v9fs_file_read and v9fs_file_write to allocate only
buffers as big as the maximum data that can be sent in one 9P message.

Signed-off-by: Latchesar Ionkov <lucho@ionkov.net>
Cc: Eric Van Hensbergen <ericvh@gmail.com>
Signed-off-by: Andrew Morton <akpm@osdl.org>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
19 years ago[PATCH] dell_rbu: changes in packet update mechanism
Abhay Salunke [Tue, 11 Oct 2005 15:29:02 +0000 (08:29 -0700)]
[PATCH] dell_rbu: changes in packet update mechanism

In the current dell_rbu code ver 2.0 the packet update mechanism makes the
user app dump every individual packet in to the driver.

This adds in efficiency as every packet update makes the
/sys/class/firmware/dell_rbu/loading and data files to disappear and reappear
again.  Thus the user app needs to wait for the files to reappear to dump
another packet.  This slows down the packet update tremendously in case of
large number of packets.  I am submitting a new patch for dell_rbu which will
change the way we do packet updates;

In the new method the user app will create a new single file which has already
packetized the rbu image and all the packets are now staged in this file.

This driver also creates a new entry in
/sys/devices/platform/dell_rbu/packet_size ; the user needs to echo the packet
size here before downloading the packet file.

The user should do the following:

 create one single file which has all the packets stacked together.
 echo the packet size in to /sys/devices/platform/dell_rbu/packet_size.
 echo 1 > /sys/class/firmware/dell_rbu/loading
 cat the packetfile > /sys/class/firmware/dell_rbu/data
 echo 0 > /sys/class/firmware/dell_rbu/loading

The driver takes the file which came through /sys/class/firmware/dell_rbu/data
and takes chunks of paket_size data from it and place in contiguous memory.

This makes packet update process very efficient and fast.  As all the packet
update happens in one single operation.  The user can still read back the
downloaded file from /sys/devices/platform/dell_rbu/data.

Signed-off-by: Abhay Salunke <abhay_salunke@dell.com>
Signed-off-by: Andrew Morton <akpm@osdl.org>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
19 years ago[PATCH] ppc64: Fix PCI hotplug
Anton Blanchard [Tue, 11 Oct 2005 15:29:00 +0000 (08:29 -0700)]
[PATCH] ppc64: Fix PCI hotplug

pSeries_irq_bus_setup is marked __devinit but references s7a_workaround
which is marked __initdata.

Depending on who got the memory for s7a_workaround (and if the value was
now positive), it was possible for PCI hotplugged devices to have 3
subtracted from their interrupt number.  This would happen randomly and
caused me much confusion :)

Signed-off-by: Anton Blanchard <anton@samba.org>
Signed-off-by: Andrew Morton <akpm@osdl.org>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
19 years ago[PATCH] s390: ccw device reconnect oops.
Cornelia Huck [Tue, 11 Oct 2005 15:28:59 +0000 (08:28 -0700)]
[PATCH] s390: ccw device reconnect oops.

Search for a disconnect ccw_device on the ccw bus rather than on the css
bus (was a typo in patch I did for the klist conversion).  A cast to an
embedding ccw_device from an embedded device in a struct subchannel will
lead us to oopses.

Signed-off-by: Cornelia Huck <cohuck@de.ibm.com>
Signed-off-by: Martin Schwidefsky <schwidefsky@de.ibm.com>
Signed-off-by: Andrew Morton <akpm@osdl.org>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
19 years agoppc64: compile fix - define execve in misc.S
Paul Mackerras [Tue, 11 Oct 2005 12:10:49 +0000 (22:10 +1000)]
ppc64: compile fix - define execve in misc.S

This used to be inline in include/asm-ppc64/unistd.h, but isn't
inline in the merged include/asm-powerpc/unistd.h, so we need a
definition here.

Signed-off-by: Paul Mackerras <paulus@samba.org>
19 years agoppc64: Use merged versions of init_task.c and process.c.
Paul Mackerras [Tue, 11 Oct 2005 12:09:48 +0000 (22:09 +1000)]
ppc64: Use merged versions of init_task.c and process.c.

These two files are now built in arch/powerpc/kernel instead of
arch/ppc64/kernel.

Signed-off-by: Paul Mackerras <paulus@samba.org>
19 years agoppc: Various minor compile fixes
Paul Mackerras [Tue, 11 Oct 2005 12:08:12 +0000 (22:08 +1000)]
ppc: Various minor compile fixes

This fixes up a variety of minor problems in compiling with ARCH=ppc
arising from using the merged versions of various header files.
A lot of the changes are just adding #include <asm/machdep.h> to
files that use ppc_md or smp_ops_t.

This also arranges for us to use semaphore.c, vecemu.c, vector.S and
fpu.S from arch/powerpc/kernel when compiling with ARCH=ppc.

Signed-off-by: Paul Mackerras <paulus@samba.org>
19 years agoppc: Adapt to asm-powerpc/irq.h irq_canonicalize changes
Paul Mackerras [Tue, 11 Oct 2005 12:03:09 +0000 (22:03 +1000)]
ppc: Adapt to asm-powerpc/irq.h irq_canonicalize changes

Now instead of having a ppc_md function, we just have a variable
which says whether to do the i8259 irq canonicalization or not,
and set that variable on the platforms that need that.  It looks
to me that radstone_ppc7d was trying to use irq canonicalization
for something else in a broken kind of way - it will need to be
fixed properly.

Signed-off-by: Paul Mackerras <paulus@samba.org>
19 years agopowerpc: Remove debug messages from setup_64.c
Paul Mackerras [Tue, 11 Oct 2005 07:35:20 +0000 (17:35 +1000)]
powerpc: Remove debug messages from setup_64.c

A bunch of printks were left in arch/powerpc/kernel/setup_64.c from
when I was chasing a bug.  This removes them.

Signed-off-by: Paul Mackerras <paulus@samba.org>
19 years ago[SPARC32]: Revert IOMAP change eb98129eec7fa605f0407dfd92d40ee8ddf5cd9a
David S. Miller [Tue, 11 Oct 2005 04:02:26 +0000 (21:02 -0700)]
[SPARC32]: Revert IOMAP change eb98129eec7fa605f0407dfd92d40ee8ddf5cd9a

Breakage noted by Al Viro.

It breaks non-PCI builds, it's probably better to have a more
direct implementation on sparc32, and which driver actually
needs this is still questionable.

We can resolve this in 2.6.15

Signed-off-by: David S. Miller <davem@davemloft.net>
19 years ago[SPARC64]: Fix oops on runlevel change with serial console.
David S. Miller [Tue, 11 Oct 2005 03:43:22 +0000 (20:43 -0700)]
[SPARC64]: Fix oops on runlevel change with serial console.

Incorrect uart_write_wakeup() calls cause reference to a
NULL tty pointer in sunsab and sunzilog serial drivers.

Signed-off-by: David S. Miller <davem@davemloft.net>
19 years agoLinux v2.6.14-rc4 v2.6.14-rc4
Linus Torvalds [Tue, 11 Oct 2005 01:19:19 +0000 (18:19 -0700)]
Linux v2.6.14-rc4

19 years agopowerpc: Remove xmon.h include from arch/powerpc/platforms/powermac/pic.c
Paul Mackerras [Mon, 10 Oct 2005 23:47:23 +0000 (09:47 +1000)]
powerpc: Remove xmon.h include from arch/powerpc/platforms/powermac/pic.c

... since it isn't needed.

Signed-off-by: Paul Mackerras <paulus@samba.org>
19 years agopowerpc: Merged asm/xmon.h
Paul Mackerras [Mon, 10 Oct 2005 23:46:10 +0000 (09:46 +1000)]
powerpc: Merged asm/xmon.h

Xmon itself isn't merged yet, though.

Signed-off-by: Paul Mackerras <paulus@samba.org>
19 years agopowerpc: Remove 83xx from arch/powerpc/platforms/Makefile for now
Paul Mackerras [Mon, 10 Oct 2005 23:33:08 +0000 (09:33 +1000)]
powerpc: Remove 83xx from arch/powerpc/platforms/Makefile for now

Since we don't have an 83xx directory or a 83xx/Makefile, having
83xx in causes make clean to fail.

Signed-off-by: Paul Mackerras <paulus@samba.org>
19 years agopowerpc: Merged asm/i8259.h
Paul Mackerras [Mon, 10 Oct 2005 23:28:16 +0000 (09:28 +1000)]
powerpc: Merged asm/i8259.h

Signed-off-by: Paul Mackerras <paulus@samba.org>
19 years agopowerpc: Merged asm/backlight.h
Paul Mackerras [Mon, 10 Oct 2005 23:26:48 +0000 (09:26 +1000)]
powerpc: Merged asm/backlight.h

Signed-off-by: Paul Mackerras <paulus@samba.org>
19 years agopowerpc: Make building the boot image work for both 32-bit and 64-bit
Paul Mackerras [Mon, 10 Oct 2005 23:25:40 +0000 (09:25 +1000)]
powerpc: Make building the boot image work for both 32-bit and 64-bit

At the moment we don't have a merged arch/powerpc/boot, so we build the
boot images in arch/ppc/boot and arch/ppc64/boot.  Unfortunately the
makefile targets are different in those two directories, so this makes
a change to accommodate both for the moment.

Signed-off-by: Paul Mackerras <paulus@samba.org>
19 years ago[PATCH] i386: Don't discard upper 32bits of HWCR on K8
Andi Kleen [Mon, 10 Oct 2005 23:28:33 +0000 (01:28 +0200)]
[PATCH] i386: Don't discard upper 32bits of HWCR on K8

Need to use long long, not long when RMWing a MSR. I think
it's harmless right now, but still should be better fixed
if AMD adds any bits in the upper 32bit of HWCR.

Bug was introduced with the TLB flush filter fix for i386

Signed-off-by: Andi Kleen <ak@suse.de>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
19 years ago[PATCH] x86_64: Allocate cpu local data for all possible CPUs
Andi Kleen [Mon, 10 Oct 2005 20:32:45 +0000 (22:32 +0200)]
[PATCH] x86_64: Allocate cpu local data for all possible CPUs

CPU hotplug fills up the possible map to NR_CPUs, but it did that after
setting up per CPU data. This lead to CPU data not getting allocated
for all possible CPUs, which lead to various side effects.

Signed-off-by: Andi Kleen <ak@suse.de>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
19 years agoMerge master.kernel.org:/pub/scm/linux/kernel/git/davem/sparc-2.6
Linus Torvalds [Mon, 10 Oct 2005 23:32:32 +0000 (16:32 -0700)]
Merge master.kernel.org:/pub/scm/linux/kernel/git/davem/sparc-2.6

19 years agoUse the new "kill_proc_info_as_uid()" for USB disconnect too
Linus Torvalds [Mon, 10 Oct 2005 23:31:30 +0000 (16:31 -0700)]
Use the new "kill_proc_info_as_uid()" for USB disconnect too

All the same issues - we can't just save the pointer to the thread, we
must save the pid/uid/euid combination.

Signed-off-by: Linus Torvalds <torvalds@osdl.org>
19 years ago[PATCH] Fix signal sending in usbdevio on async URB completion
Harald Welte [Mon, 10 Oct 2005 17:44:29 +0000 (19:44 +0200)]
[PATCH] Fix signal sending in usbdevio on async URB completion

If a process issues an URB from userspace and (starts to) terminate
before the URB comes back, we run into the issue described above.  This
is because the urb saves a pointer to "current" when it is posted to the
device, but there's no guarantee that this pointer is still valid
afterwards.

In fact, there are three separate issues:

1) the pointer to "current" can become invalid, since the task could be
   completely gone when the URB completion comes back from the device.

2) Even if the saved task pointer is still pointing to a valid task_struct,
   task_struct->sighand could have gone meanwhile.

3) Even if the process is perfectly fine, permissions may have changed,
   and we can no longer send it a signal.

So what we do instead, is to save the PID and uid's of the process, and
introduce a new kill_proc_info_as_uid() function.

Signed-off-by: Harald Welte <laforge@gnumonks.org>
[ Fixed up types and added symbol exports ]
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
19 years ago[SPARC64]: Fix Ultra5, Ultra60, et al. boot failures.
David S. Miller [Mon, 10 Oct 2005 23:12:13 +0000 (16:12 -0700)]
[SPARC64]: Fix Ultra5, Ultra60, et al. boot failures.

On the boot processor, we need to do the move onto the Linux trap
table a little bit differently else we'll take unhandlable faults in
the firmware address space.

Previously we would do the following:

1) Disable PSTATE_IE in %pstate.
2) Set %tba by hand to sparc64_ttable_tl0
3) Initialize alternate, mmu, and interrupt global
   trap registers.
4) Call prom_set_traptable()

That doesn't work very well actually with the way we boot the kernel
VM these days.  It worked by luck on many systems because the firmware
accesses for the prom_set_traptable() call happened to be loaded into
the TLB already, something we cannot assume.

So the new scheme is this:

1) Clear PSTATE_IE in %pstate and set %pil to 15
2) Call prom_set_traptable()
3) Initialize alternate, mmu, and interrupt global
   trap registers.

and this works quite well.  This sequence has been moved into a
callable function in assembler named setup-trap_table().  The idea is
that eventually trampoline.S can use this code as well.  That isn't
possible currently due to some complications, but eventually we should
be able to do it.

Thanks to Meelis Roos for the Ultra5 boot failure report.

Signed-off-by: David S. Miller <davem@davemloft.net>
19 years ago[PATCH] x86_64: Fix change_page_attr cache flushing
Andi Kleen [Mon, 10 Oct 2005 23:03:39 +0000 (01:03 +0200)]
[PATCH] x86_64: Fix change_page_attr cache flushing

Noticed by Terence Ripperda

Undo wrong change in global_flush_tlb. We need to flush the caches in all
cases, not just when pages were reverted. This was a bogus optimization
added earlier, but it was wrong.

Signed-off-by: Andi Kleen <ak@suse.de>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
19 years agoMerge master.kernel.org:/home/rmk/linux-2.6-ucb
Linus Torvalds [Mon, 10 Oct 2005 17:39:26 +0000 (10:39 -0700)]
Merge master.kernel.org:/home/rmk/linux-2.6-ucb