28 Apr, 2007
1 commit
-
* master.kernel.org:/pub/scm/linux/kernel/git/davem/sparc-2.6: (67 commits)
[SCSI] SUNESP: Complete driver rewrite to version 2.0
[SPARC64]: Convert PCI over to generic struct iommu/strbuf.
[SPARC]: device_node name constification fallout
[SPARC64]: Convert SBUS over to generic iommu/strbuf structs.
[SPARC64]: Add generic iommu and strbuf structs to iommu.h
[SPARC64]: Consolidate {sbus,pci}_iommu_arena.
[SPARC]: Make device_node name and type const
[SPARC64]: constify some paramaters of OF routines
[TIGON3]: of_get_property() returns const.
[SPARC64]: Fix PCI rework to adhere to of_get_property() const return.
[SPARC64]: Document and fix calculation of pages_avail.
[SPARC64]: Make sure pbm->prom_node is setup easly enough in psycho.c
[SPARC64]: Use bootmem_bootmap_pages() in choose_bootmap_pfn().
[SPARC64]: Add proper header file extern for cmdline_memory_size.
[SPARC64]: Kill sparc_ultra_dump_{i,d}tlb()
[SPARC64]: Use DECLARE_BITMAP and BITS_TO_LONGS in mm/init.c
[SPARC64]: Give move verbose show_mem() output just like i386.
[SPARC64]: Mark show_mem() printk's with KERN_INFO.
[SPARC64]: Kill kvaddr_to_phys() and friends.
[SPARC64]: Privatize sun4u_get_pte() and fix name.
...
26 Apr, 2007
3 commits
-
We have several platforms using local copies of identical
code.Signed-off-by: David S. Miller
-
Now that network timestamps use ktime_t infrastructure, we can add a new
SOL_SOCKET sockopt SO_TIMESTAMPNS.This command is similar to SO_TIMESTAMP, but permits transmission of
a 'timespec struct' instead of a 'timeval struct' control message.
(nanosecond resolution instead of microsecond)Control message is labelled SCM_TIMESTAMPNS instead of SCM_TIMESTAMP
A socket cannot mix SO_TIMESTAMP and SO_TIMESTAMPNS : the two modes are
mutually exclusive.sock_recv_timestamp() became too big to be fully inlined so I added a
__sock_recv_timestamp() helper function.Signed-off-by: Eric Dumazet
CC: linux-arch@vger.kernel.org
Signed-off-by: David S. Miller -
Now network timestamps use ktime_t infrastructure, we can add a new
ioctl() SIOCGSTAMPNS command to get timestamps in 'struct timespec'.
User programs can thus access to nanosecond resolution.Signed-off-by: Eric Dumazet
CC: Stephen Hemminger
Signed-off-by: David S. Miller
28 Mar, 2007
2 commits
-
The IRQ3 define was removed when asm-sh/irq.h was cleaned up,
this updates the hp6xx header to use the IRQ number directly.Signed-off-by: Kristoffer Ericson
Signed-off-by: Paul Mundt -
As reported by Manuel:
When I build linux with GCC-4.x and enable
CONFIG_CC_OPTIMIZE_FOR_SIZE linking fails with this error:LD .tmp_vmlinux1
kernel/built-in.o: In function '__cmpxchg_called_with_bad_pointer'
make[1]: *** [.tmp_vmlinux1] Error 1
make: *** [_all] Error 2This ended up being an inlining problem, fixed by explicitly
including linux/compiler.h and grabbing the definitions from there.Signed-off-by: Paul Mundt
14 Mar, 2007
1 commit
-
SH-3 and SH-4 were trampling the register, and SH-2 wasn't even
setting it in the first place. This ended up with some rather
broken behaviour in the sysrq show_regs().Signed-off-by: Paul Mundt
12 Mar, 2007
2 commits
-
This fixes up some compile failures for cases where we don't include
all of the headers. There's not much point in keeping the struct
references around anyways, most of the others have been converted
already.Signed-off-by: Mike Frysinger
Signed-off-by: Paul Mundt -
For some reason sh was missing __NR_readahead, even though the
syscall was wired up, and the slot was reserved. Caught with
dwmw2's missing syscall checker.Signed-off-by: Paul Mundt
05 Mar, 2007
3 commits
-
These ended up causing too many problems on older parts,
revert for now..Signed-off-by: Paul Mundt
-
Previously this was using a hardcoded 32, use L1_CACHE_BYTES for
cacheline alignment instead.Signed-off-by: Paul Mundt
-
This takes care of tearing down the UBC so it's not inadvertently
left configured at the next context switch time. Failure to do
this results in spurious SIGTRAPs in certain debug sequences.Signed-off-by: Stuart Menefy
Signed-off-by: Paul Mundt
15 Feb, 2007
1 commit
-
This tidies up some of the rts7751r2d mess and gets it booting
again. Update the defconfig, too.Signed-off-by: Masayuki Hosokawa
Signed-off-by: Paul Mundt
14 Feb, 2007
2 commits
-
Neither of these have had any maintenance in years, and there's
no interest in keeping them straggling along. These have already
been slated for removal some time, so finally just get rid of them.Signed-off-by: Paul Mundt
-
This ended up causing problems for older parts (particularly ones
using PTEA). Revert this for now, it can be added back in once it's
had some more testing.Signed-off-by: Paul Mundt
13 Feb, 2007
13 commits
-
sh was missing these, too.
Signed-off-by: Paul Mundt
-
Some boards need this, so provide a definition.
Signed-off-by: Paul Mundt
-
This is used by the libc for parsing CPU capability flags passed
via the ELF auxvt, needed for run-time selection of atomic opcodes
amongst other things.Signed-off-by: Paul Mundt
-
This was breaking the uClibc build, which triggered the bogus page
size error.Signed-off-by: Paul Mundt
-
We accidentally broke the inotify syscalls, fix those up again.
Signed-off-by: Paul Mundt
-
Rename the existing flush routines to local_ variants for use by
the IPI-backed global flush routines on SMP.Signed-off-by: Paul Mundt
-
There are a lot of bogus cpu_data-> references that only end up working
for the boot CPU, convert these to current_cpu_data to fixup SMP.Signed-off-by: Paul Mundt
-
Previously this was implemented using a global cache, cache
this per-CPU instead and bump up the number of context IDs to
match NR_CPUS.Signed-off-by: Paul Mundt
-
This patch does the following:
- remove the make_ipr_irq stuff from dma-sh.c and replace it
with a simple channelirq mapping table.
- add DMTEx_IRQ constants for sh4 cpus
- fix sh7751 DMAE irq numberThe SH7780 uses the same IRQs for DMA as other SH4 types, so
I put the constants on top of the dma.h file.Other CPU types need to #define their own DMTEx_IRQ contants
in their appropriate header.Signed-off-by: Manuel Lauss
Signed-off-by: Paul Mundt -
This converts the lazy dcache handling to the model described in
Documentation/cachetlb.txt and drops the ptep_get_and_clear() hacks
used for the aliasing dcaches on SH-4 and SH7705 in 32kB mode. As a
bonus, this slightly cuts down on the cache flushing frequency.With that and the PTEA handling out of the way, the update_mmu_cache()
implementations can be consolidated, and we no longer have to worry
about which configuration the cache is in for the SH7705 case.And finally, explicitly disable the lazy writeback on SMP (SH-4A).
Signed-off-by: Paul Mundt
-
There were a few more things that needed fixing up, namely THREAD_SIZE
and the TLB miss handler where certain PTRS_PER_PGD == PTRS_PER_PTE
assumptions were being made.Signed-off-by: Paul Mundt
-
syscall number 300 fails while testing with latest LTP
(ltp-full-20061121.tgz) on sh.sys_fstatat64 is called on syscall 300 (see arch/sh/kernel/syscalls.S),
and __ARCH_WANT_STAT64 is defined in include/asm-sh/unistd.h, so
following patch seems correct.Signed-off-by: SUGIOKA Toshinobu
Signed-off-by: Paul Mundt -
This rips out most of the needlessly complicated sh_bios and kgdb
trap handling, and forces it all through a common fast dispatch path.
As more debug traps are inserted, it's important to keep them in sync
for all of the parts, not just SH-3/4.As the SH-2 parts are unable to do traps in the >= 0x40 range, we
restrict the debug traps to the 0x30-0x3f range on all parts, and
also bump the kgdb breakpoint trap down in to this range (from 0xff
to 0x3c) so it's possible to use for nommu.Optionally, this table can be padded out to catch spurious traps for
SH-3/4, but we don't do that yet..Signed-off-by: Paul Mundt
12 Feb, 2007
1 commit
-
The line discipline numbers N_* are currently defined for each architecture
individually, but (except for a seeming mistake) identically, in
asm/termios.h. There is no obvious reason why these numbers should be
architecture specific, nor any apparent relationship with the termios
structure. The total number of these, NR_LDISCS, is defined in linux/tty.h
anyway. So I propose the following patch which moves the definitions of
the individual line disciplines to linux/tty.h too.Three of these numbers (N_MASC, N_PROFIBUS_FDL, and N_SMSBLOCK) are unused
in the current kernel, but the patch still keeps the complete set in case
there are plans to use them yet.Signed-off-by: Tilman Schmidt
Cc:
Signed-off-by: Andrew Morton
Signed-off-by: Linus Torvalds
10 Feb, 2007
1 commit
-
Signed-off-by: Paul Mundt
Signed-off-by: Ralf Baechle
14 Dec, 2006
2 commits
-
Virtually index, physically tagged cache architectures can get away
without cache flushing when forking. This patch adds a new cache
flushing function flush_cache_dup_mm(struct mm_struct *) which for the
moment I've implemented to do the same thing on all architectures
except on MIPS where it's a no-op.Signed-off-by: Ralf Baechle
Signed-off-by: Linus Torvalds -
Currently, to tell a task that it should go to the refrigerator, we set the
PF_FREEZE flag for it and send a fake signal to it. Unfortunately there
are two SMP-related problems with this approach. First, a task running on
another CPU may be updating its flags while the freezer attempts to set
PF_FREEZE for it and this may leave the task's flags in an inconsistent
state. Second, there is a potential race between freeze_process() and
refrigerator() in which freeze_process() running on one CPU is reading a
task's PF_FREEZE flag while refrigerator() running on another CPU has just
set PF_FROZEN for the same task and attempts to reset PF_FREEZE for it. If
the refrigerator wins the race, freeze_process() will state that PF_FREEZE
hasn't been set for the task and will set it unnecessarily, so the task
will go to the refrigerator once again after it's been thawed.To solve first of these problems we need to stop using PF_FREEZE to tell
tasks that they should go to the refrigerator. Instead, we can introduce a
special TIF_*** flag and use it for this purpose, since it is allowed to
change the other tasks' TIF_*** flags and there are special calls for it.To avoid the freeze_process()-refrigerator() race we can make
freeze_process() to always check the task's PF_FROZEN flag after it's read
its "freeze" flag. We should also make sure that refrigerator() will
always reset the task's "freeze" flag after it's set PF_FROZEN for it.Signed-off-by: Rafael J. Wysocki
Acked-by: Pavel Machek
Cc: Russell King
Cc: David Howells
Cc: Andi Kleen
Cc: "Luck, Tony"
Cc: Benjamin Herrenschmidt
Cc: Paul Mackerras
Cc: Paul Mundt
Signed-off-by: Andrew Morton
Signed-off-by: Linus Torvalds
12 Dec, 2006
8 commits
-
This adds CPU support for the SH7722.
Signed-off-by: Paul Mundt
-
This now takes a struct device, update all of the callers.
Signed-off-by: Paul Mundt
-
Previously we haven't been doing anything with verbose BUG() reporting,
and we've been relying on the oops path for handling BUG()'s, which is
rather sub-optimal.This switches BUG handling to use a fixed trapa vector (#0x3e) where we
construct a small bug frame post trapa instruction to get the context
right. This also makes it trivial to wire up a DIE_BUG for the atomic
die chain, which we couldn't really do before.Signed-off-by: Paul Mundt
-
We have a few different ways to do the atomic operations, so split
them out in to different headers rather than bloating atomic.h.
Kernelspace gUSA will take this up to a third implementation.Signed-off-by: Paul Mundt
-
Get the landisk board building again..
Signed-off-by: Paul Mundt
-
INIT_WORK() dropped the data arg, so now we have to stash an extra
pointer and backpedal instead.Signed-off-by: Paul Mundt
-
Signed-off-by: Paul Mundt
-
In the 64-bit PTE case there's no point in restricting the encoding
to the low bits of the PTE, we can instead bump all of this up to
the high 32 bits and extend PTE_FILE_MAX_BITS to 32, adopting the
same convention used by x86 PAE.There's a minor discrepency between the number of bits used for the
swap type encoding between 32 and 64-bit PTEs, but this is unlikely
to cause any problem given the extended offset.Signed-off-by: Paul Mundt