01 Jun, 2006
16 commits
-
* 'upstream' of git://ftp.linux-mips.org/pub/scm/upstream-linus:
[MIPS] Treat R14000 like R10000.
[MIPS] Remove EXPERIMENTAL from PAGE_SIZE_16KB
[MIPS] Update/Fix instruction definitions
[MIPS] DSP and MDMX share the same config flag bit.
[MIPS] Fix deadlock on MP with cache aliases.
[MIPS] Use generic STABS_DEBUG macro.
[MIPS] Create consistency in "system type" selection.
[MIPS] Use generic DWARF_DEBUG
[MIPS] Fix kgdb exception handler from user mode.
[MIPS] Update struct sigcontext member names
[MIPS] Update/fix futex assembly
[MIPS] Remove support for sysmips(2) SETNAME and MIPS_RDNVRAM operations.
[MIPS] Fix detection and handling of the 74K processor.
[MIPS] Add missing 34K processor IDs
[MIPS] Fix marking buddy of pte global for MIPS32 w/36-bit physical address
[MIPS] AU1xxx mips_timer_interrupt() fixes
[MIPS] Fix typo -
Signed-off-by: Joshua Kinard
Signed-off-by: Ralf Baechle -
This is known to be working fine for a while. While at it also update
and fix the help texts.Signed-off-by: Ralf Baechle
-
A proper fix would involve introducing the notion of shared caches but
at this stage of 2.6.17 that's going to be too intrusive and not needed
for current hardware; aside I think some discussion will be needed.So for now on the affected SMP configurations which happen to suffer from
cache aliases we make use of the fact that a single cache will be shared
by all processors. This solves the deadlock issue and will improve
performance by getting rid of the smp_call_function overhead.Signed-off-by: Ralf Baechle
-
Signed-off-by: Atsushi Nemoto
Signed-off-by: Ralf Baechle -
The "system type" Kconfig options on MIPS are not consistent. For
some platforms, only the name is listed while other entries are
prepended with "Support for". Remove this as it doesn't make sense
when describing the "system type".Signed-off-by: Martin Michlmayr
Signed-off-by: Ralf Baechle -
When debugging a kernel compiled by gcc 4.1 with gdb 6.4, gdb could
not show filename, linenumber, etc. It seems fixed if I used generic
DWARF_DEBUG macro. Although gcc 3.x seems work without this change,
it would be better to use the generic macro unless there were
something MIPS specific.Signed-off-by: Atsushi Nemoto
Signed-off-by: Ralf Baechle -
Fix a calculation of saved vector address in trap_low.
(damage done by lmo f4c72cc737561aab0d9c7f877abbc0a853f1c465)
Signed-off-by: Ralf Baechle
-
Rename the 64-bit sc_hi and sc_lo arrays to use the same names
as the 32-bit struct sigcontext (sc_mdhi, sc_hi1, et cetera).Signed-off-by: Daniel Jacobowitz
Signed-off-by: Ralf Baechle -
SETNAME only had a minor defect but probably never had a user and
MIPS_RDNVRAM was unimplemented anyway.Signed-off-by: Ralf Baechle
-
Nothing exciting; Linux just didn't know it yet so this is most adding
a value to a case statement.Signed-off-by: Chris Dearman
Signed-off-by: Ralf Baechle -
The 34K is very much like a 24K on steroids.
Signed-off-by: Ralf Baechle
-
common/au1000/irq.c was missing a mips_timer_interrupt() prototype,
whereas in common/au1000/time.c the actual mips_timer_interrupt()
implementation was missing an irq_exit() invocation, causing a
preempt_count() leak.Signed-off-by: Herbert Valerio Riedel
Signed-off-by: Ralf Baechle -
Found by Chris Dearman (chris@mips.com).
Signed-off-by: Ralf Baechle
-
The ARM Architecture Reference Manual lists bit 4 of the PMD as "implementation
defined" and it must be set to zero on Intel XScale CPUs or the cache does
not behave properly. Found by Mike Rapoport while debugging a flash issue
on the PXA255:http://marc.10east.com/?l=linux-arm-kernel&m=114845287600782&w=1
Signed-off-by: Deepak Saxena
Signed-off-by: Linus Torvalds -
From: Benjamin Herrenschmidt
Prevent calling of some platform functions on the clock chips of the eMac
as it seems to cause it to lockup at boot. For now, add a quirk to prevent
that from happening. Later, I might find out what's wrong and fix it but
that doesn't seem to be important as the machine appear to work fine
without running those. It's possible that Darwin doesn't run them.Signed-off-by: Benjamin Herrenschmidt
Cc: Nathan Pilatzke
Cc: Paul Mackerras
Cc: Jean Delvare
Signed-off-by: Andrew Morton
Signed-off-by: Linus Torvalds
31 May, 2006
9 commits
-
We don't enable the BTB on the ixp2350 as that can cause weird
crashes (erratum #42.) However, some bootloaders enable the BTB,
which means that we have to disable the BTB explicitly.Found thanks to Tom Rini.
Signed-off-by: Lennert Buytenhek
Signed-off-by: Deepak Saxena
Signed-off-by: Linus Torvalds -
This reverts commit 5491d0f3e206beb95eeb506510d62a1dab462df1.
As per Andi:
"After some discussion with people who have the affected system it
seems best to revert for 2.6.17. It broke a common BIOS workaround
and PCI-X still doesn't work. Alternative is for people to change
the BIOS which seems to be better right now."Signed-off-by: Linus Torvalds
-
int_ret_from_syscall already does syscall exit tracing, so
no need to do it again in the caller.This caused problems for UML and some other special programs doing
syscall interception.Signed-off-by: Andi Kleen
Signed-off-by: Linus Torvalds -
From: Robert Hentosh
Actually, we just stumbled on a different bug found in find_e820_area() in
e820.c. The following code does not handle the edge condition correctly:while (bad_addr(&addr, size) && addr+size < ei->addr + ei->size)
;
last = addr + size;
if ( last > ei->addr + ei->size )
continue;The second statement in the while loop needs to be a b) outside it. It needs to read:
while (bad_addr(&addr, size) && addr+size addr + ei->size)
;In the case that failed bad_addr was returning an address that is exactly size
bellow the end of the e820 range.AK: Again together with the earlier avoid edma fix this fixes
boot on a Dell PE6850/16GBSigned-off-by: Andi Kleen
Signed-off-by: Linus Torvalds -
From: Daniel Yeisley
It is possible to boot a Unisys ES7000 with CPUs from multiple cells, and not
also include the memory from those cells. This can create a scenario where
node 0 has cpus, but no associated memory. The system will boot fine in a
configuration where node 0 has memory, but nodes 2 and 3 do not.[AK: I rechecked the code and generic code seems to indeed handle that already.
Dan's original patch had a change for mm/slab.c that seems to be already in now.]Signed-off-by: Andi Kleen
Signed-off-by: Linus Torvalds -
From: "Jan Beulich"
The PM timer code updates vxtime.last_tsc, but this update was done
incorrectly in two ways:
- offset_delay being in microseconds requires multiplying with cpu_mhz
rather than cpu_khz
- the multiplication of offset_delay and cpu_khz (both being 32-bit
values) on most current CPUs would overflow (observed value of the
delay was approximately 4000us, yielding an overflow for frequencies
starting a little above 1GHz)Signed-off-by: Jan Beulich
Signed-off-by: Andi Kleen
Signed-off-by: Linus Torvalds -
From: "Jan Beulich"
When using apic= on the kernel command line, this had no effect for machines
matched by either the ACPI MADT or the MPS OEM table scan. However, when such
option is specified, it should also take effect for this set of systems.Signed-off-by: Jan Beulich
Signed-off-by: Andi Kleen
Signed-off-by: Linus Torvalds -
Complaining about the IOMMU not compiled in doesn't make sense
here because it is clearly compiled in.Signed-off-by: Andi Kleen
Signed-off-by: Linus Torvalds -
ia32_setup_arg_pages would ignore the passed in random stack top
and use its own static value.Now it uses the 8bit of randomness native i386 would use too.
This indirectly fixes mmap randomization for 32bit processes too,
which depends on the stack randomization.Should also give slightly better virtual cache colouring and
possibly better performance with HyperThreading.Signed-off-by: Andi Kleen
Acked-by: Ingo Molnar
Signed-off-by: Linus Torvalds
29 May, 2006
1 commit
-
A typo crept in with commit ea1e847cc202e805769c3c46ba5e5c53714068a1
which defined TI_LOCAL_FLAGS to be the offset of the `flags' field
of struct thread_info, rather than the `local_flags' field. This
fixes it. The typo was pointed out by Guennadi Liakhovetski.Signed-off-by: Paul Mackerras
28 May, 2006
1 commit
-
* 'merge' of git://git.kernel.org/pub/scm/linux/kernel/git/paulus/powerpc:
[PATCH] powerpc: fix RTC/NVRAM accesses on Maple
[PATCH] ppc32 CPM_UART: various fixes for pq2 uart users
[PATCH] powerpc: linuxppc64.org no more
27 May, 2006
2 commits
-
For a very long time, echoing 'standby' or 'mem' into /sys/power/state has
killed the machine on powerpc. This patch fixes that.This patch adds the .valid callback to pm_ops on PowerMac so that only the
suspend to disk state can be entered. Note that just returning 0 would
suffice since the upper layers don't pass PM_SUSPEND_DISK down, but we
handle it there regardless just in case that changes.Acked-by: Benjamin Herrenschmidt
Signed-off-by: Johannes Berg
Cc:
Signed-off-by: Andrew Morton
Signed-off-by: Linus Torvalds -
Signed-off-by: Jens Axboe
Signed-off-by: Andrew Morton
Signed-off-by: Linus Torvalds
26 May, 2006
3 commits
-
Due to a firmware device tree bug, RTC and NVRAM accesses (including
halt/reboot) on Maple have been broken since January, when an untested
build fix went in. This code patches the device tree in Linux.Signed-off-by: Hollis Blanchard
Signed-off-by: Segher Boessenkool
Signed-off-by: Paul Mackerras -
This fixes various odd things that missed update together with cpm_uart
platform_device move. Unified resources names, restructurisation, etc.
Also, addressed issue with recent phys/virt translation rework. Being
cache-coherent, CPM2's do alloc_bootmem() for the console stuff, and it was
used to treat console buffer descriptor mapping 1:1 (as in CPM1 case),
which is definitely wrong.Signed-off-by: Vitaly Bordug
Signed-off-by: Paul Mackerras -
Add missing parentheses for type cast to u64.
Signed-off-by: Martin Schwidefsky
Cc: Dave Jones
Signed-off-by: Linus Torvalds
24 May, 2006
5 commits
-
* master.kernel.org:/pub/scm/linux/kernel/git/davem/sparc-2.6:
[SPARC64]: Respect gfp_t argument to dma_alloc_coherent(). -
Signed-off-by: David Woodhouse
Cc: Benjamin Herrenschmidt
Acked-by: Paul Mackerras
Cc: Arnd Bergmann
Signed-off-by: Andrew Morton
Signed-off-by: Linus Torvalds -
Signed-off-by: David Woodhouse
Cc: Benjamin Herrenschmidt
Acked-by: Paul Mackerras
Cc: Arnd Bergmann
Signed-off-by: Andrew Morton
Signed-off-by: Linus Torvalds -
Syscall number 224 was absent from the table, which I believe means that
the SPU can cause an oops by attempting to use it.Signed-off-by: David Woodhouse
Cc: Benjamin Herrenschmidt
Acked-by: Paul Mackerras
Cc: Arnd Bergmann
Signed-off-by: Andrew Morton
Signed-off-by: Linus Torvalds -
Writing cr0 to cr2 register can't be right. This fixes the typo. I wonder
how it could survive so long.Signed-off-by: Pavel Machek
Cc: Zachary Amsden
Signed-off-by: Andrew Morton
Signed-off-by: Linus Torvalds
23 May, 2006
1 commit
-
Using asm-generic/dma-mapping.h does not work because pushing
the call down to pci_alloc_coherent() causes the gfp_t argument
of dma_alloc_coherent() to be ignored.Fix this by implementing things directly, and adding a gfp_t
argument we can use in the internal call down to the PCI DMA
implementation of pci_alloc_coherent().This fixes massive memory corruption when using the sound driver
layer, which passes things like __GFP_COMP down into these
routines and (correctly) expects that to work.Signed-off-by: David S. Miller
22 May, 2006
2 commits
-
Signed-off-by: David S. Miller
-
The 32 bit unsigned substraction (next - jiffies) in stop_hz_timer can
overflow if jiffies gets advanced between next_timer_interrupt and the read
under the xtime lock. The cast to a u64 then results in a large value
which causes the cpu to wait too long. Fix this by casting next and
jiffies independently to u64 before subtracting them.(Spotted by Zachary Amsden )
Signed-off-by: Martin Schwidefsky
Signed-off-by: Andrew Morton
Signed-off-by: Linus Torvalds