05 Dec, 2008
40 commits
-
A closer inspection revealed that these two files had identical
functionality - but the implementation of it differed slightly.Base it on the sparc version as it was the best.
Signed-off-by: Sam Ravnborg
Signed-off-by: David S. Miller -
It is always equals y so no need to test for it
Signed-off-by: Sam Ravnborg
Signed-off-by: David S. Miller -
of_node_put is needed before discarding a value received from
of_find_node_by_name, eg in error handling code or when the device
node is no longer used.The semantic match that catches the bug is as follows:
(http://www.emn.fr/x-info/coccinelle/)//
@r exists@
local idexpression struct device_node *n;
position p1, p2;
struct device_node *n1;
statement S;
identifier f;
expression E;
expression *ptr != NULL;
@@n@p1 = of_find_node_by_name(...)
...
if (!n) S
... when != of_node_put(n)
when != n1 = f(n,...)
when != E = n
when any
when strict
(
return \(0\|\|ptr\);
|
return@p2 ...;
|
of_node_put(n);
|
n1 = f(n,...)
|
E = n
)@script:python@
p1 << r.p1;
p2 << r.p2;
@@print "* file: %s of_find_node_by_name %s return %s" % (p1[0].file,p1[0].line,p2[0].line)
//Signed-off-by: Nicolas Palix
Signed-off-by: Julia Lawall
Signed-off-by: David S. Miller -
Simple unification:
o renamed piggyback to *_32.c/*_64.c
o copied content of Makefile from sparc64 to sparc and guard it
o updated sparc/boot/.gitignore
o deleted remaining files in sparc64/bootSigned-off-by: Sam Ravnborg
Signed-off-by: David S. Miller -
o Move all files from sparc64/kernel/ to sparc/kernel
- rename as appropriate
o Update sparc/Makefile to the changes
o Update sparc/kernel/Makefile to include the sparc64 filesNOTE: This commit changes link order on sparc64!
Link order had to change for either of sparc32 and sparc64.
And assuming sparc64 see more testing than sparc32 change link
order on sparc64 where issues will be caught faster.Signed-off-by: Sam Ravnborg
Signed-off-by: David S. Miller -
o sparc32 files with identical names to sparc64 renamed to _32.S
o introduced a few Kconfig helpers to simplify Makefile logic
o refactored Makefile to prepare for unification
- use obj-$(CONFIG_SPARC32) for sparc32 specific files
- use _$(BITS) for files where sparc64 has a _64 variant
- sparc64 directly include a few files where sparc32 builds them,
refer to these files directly (no BITS)
- sneaked in -Werror as used by sparc64
o modified sparc/Makefile to use the new names for head/init_taskSigned-off-by: Sam Ravnborg
Signed-off-by: David S. Miller -
o Renamed files in sparc64 to _64.S when identical
to sparc32 files.
o iomap.c were equal for sparc32 and sparc64
o adjusted sparc/Makefile now we have only one lib/Signed-off-by: Sam Ravnborg
Signed-off-by: David S. Miller -
Identical named files renamed to _32.S
Refactored Makefile to prepare for unification.Linking order was altered slightly - but this is a lib.a file so
it should not matter.Signed-off-by: Sam Ravnborg
Signed-off-by: David S. Miller -
- all files with identical names copied and renamed to *_64.c
- the remaning files copied as is
- added sparc64 specific files to sparc/prom/Makefile
- teach sparc64 Makefile to look into sparc/prom/
- delete unused Makefile from sparc64/prom/linking order was not kept for sparc64 with this change.
It was not possible to keep linking order for both sparc and sparc64
and as sparc64 see more testing than sparc it was natural to
break linking order on sparc64. Should it have any effect it
would be detected sooner this way.printf_32.c and printf_64.c are obvious candidates to be merged
but they are not 100% equal so that was left for laterSigned-off-by: Sam Ravnborg
Signed-off-by: David S. Miller -
- rename files where sparc64 uses identical names to *_32.c
- refactor Makefile (but keep linking order)Signed-off-by: Sam Ravnborg
Signed-off-by: David S. Miller -
To unify Makefile for sparc and sparc64 a few other steps was needed:
1) separate defconfig files for sparc and sparc64 is required,
so locate these in arch/sparc/configs
2) removoval of hack in toplevel Makefile to deal with that
headers was in a separate directory compared to the restThe unification of the Makefile required usage of several
foo-$(CONFIG_SPARCnn) +=
due to a few directories pending unification.
This will be cleaned up when we unify the remaining directories.Included in this patch are the deletion of a few files in
sparc64 as they are no longer needed: Makefile + Kconfig.
arch/sparc64/ will after this patch is applied only
have four directories (prom, lib, kernel, boot)Signed-off-by: Sam Ravnborg
Signed-off-by: David S. Miller -
With this 'git status' no longer reports any new files
At least not for a sparc allnoconfig buildSigned-off-by: Sam Ravnborg
Signed-off-by: David S. Miller -
Leave all cleaning to boot/Makefile
and delete zImage too when we do a 'make clean'Signed-off-by: Sam Ravnborg
Signed-off-by: David S. Miller -
The btfixup step needs knowledge of all the .o files,
but there is no need to pass them in independent variables.
Simplify it to use only two variables.Signed-off-by: Sam Ravnborg
Signed-off-by: David S. Miller -
sparc64 does not use constants generated from asm-offsets
but to prepare it to do so the parts that could be
shared do now generate constants for sparc64 too.Signed-off-by: Sam Ravnborg
Signed-off-by: David S. Miller -
Previous commit made them identical so use the sparc version
Signed-off-by: Sam Ravnborg
Signed-off-by: David S. Miller -
This patch makes the two vmlinux.lds.S files identical
and serve as documentation for the changes in each file.This mainly add stuffs to sparc32 that is otherwise only
used by sparc64 and thus it should have no effect.Build tested only.
Signed-off-by: Sam Ravnborg
Signed-off-by: David S. Miller -
Signed-off-by: David S. Miller
-
Signed-off-by: David S. Miller
-
And this allows us to indicate HAVE_LATENCYTOP_SUPPORT.
Signed-off-by: David S. Miller
-
Signed-off-by: Al Viro
Signed-off-by: David S. Miller -
Just do it once.
Pointed out by Al Viro.
Signed-off-by: David S. Miller
-
This is complicated a little because compat_audit.c wants to see only
the 32bit syscall numbers, but is being built in a 64bit compile.Signed-off-by: Stephen Rothwell
Signed-off-by: David S. Miller -
We use clock cycle counter, adjusted to HZ.
This can be extended to sun4v based processors as well, as they
also have a proper overflow interrupt facility for the performance
counters.Signed-off-by: David S. Miller
-
It writes the %pic register, keeping mind of processor bugs.
Implement reset_pic() in terms of it.
Signed-off-by: David S. Miller
-
In these instructions we load the new thread register, switch
the register window, and setup the new frame pointer.All of these must appear atomic, and things will explode if
we take a PIL=15 NMI interrupt in the middle of this sequence.Signed-off-by: David S. Miller
-
We don't want the rtrap path to try and run softirqs or
anything like that when returning from a PIL==15 NMI.Signed-off-by: David S. Miller
-
So that we can profile code even in a local_irq_disable() section,
only write 14 (instead of 15) into the %pil register to disable IRQs.This allows PIL level 15 to serve as a pseudo NMI.
Signed-off-by: David S. Miller
-
Stephen Rothwell pointed out that pcmcia can't be enabled on sparc64.
There is an empty non-prompt PCMCIA explicit entry in
arch/sparc/Kconfig but that doesn't do anything.32-bit sparc needs a small hack to make this work, since it doesn't
use the generic IRQ layer yes. We have to provide a dummy definition
of probe_irq_mask(), since this is used by the yenta socket driver.Signed-off-by: David S. Miller
-
Signed-off-by: David S. Miller
-
Add a sysctl to tweak the RSS limit used to decide when to grow
the TSB for an address space.In order to avoid expensive divides and multiplies only simply
positive and negative powers of two are supported.The function computed takes the number of TSB translations that will
fit at one time in the TSB of a given size, and either adds or
subtracts a percentage of entries. This final value is the
RSS limit.See tsb_size_to_rss_limit().
Signed-off-by: David S. Miller
-
- move all sparc64/mm/ files to arch/sparc/mm/
- commonly named files are named _64.c
- add files to sparc/mm/Makefile preserving link order
- delete now unused sparc64/mm/Makefile
- sparc64 now finds mm/ in sparcSigned-off-by: Sam Ravnborg
Signed-off-by: David S. Miller -
- rename files where sparc64 has similar files to _32.c
- Restructure Makefile
- Sneak in -Werror as we have for sparc64Signed-off-by: Sam Ravnborg
Signed-off-by: David S. Miller -
A simple:
diff arch/sparc64/oprofile/init.c arch/sparc/oprofile/init.c
diff arch/sparc64/oprofile/Makefile arch/sparc/oprofile/Makefilerevealed that the directories were equal.
So let sparc64 point to the sparc version and drop the sparc64 oprofile dirSigned-off-by: Sam Ravnborg
Signed-off-by: David S. Miller -
Move relavent files to sparc/math-emu and
adjust path/include accordingly.Signed-off-by: Sam Ravnborg
Signed-off-by: David S. Miller -
Add _32 to filenames to make them 32 bit unique
Signed-off-by: Sam Ravnborg
Signed-off-by: David S. Miller -
- Drop unused assignment from Makefile
- Replace EXTRA_CFLAGS with ccflags-y
- Delete unused fileSigned-off-by: Sam Ravnborg
Signed-off-by: David S. Miller -
BITS will be used to simplify unified Makefiles
Signed-off-by: Sam Ravnborg
Signed-off-by: David S. Miller -
Merge all of sparc64 Kconfig to sparc Kconfig.
The merge was checked by:
- visual inspection in menuconfig
- result of allnoconfig, allmodconfig, allyesconfig was checked before and after
- result of a number of randconfig was checked before and afterscripts/diffconfig was used to check if the config differed before and after
The validity of the test was checked by on purpose introducing
a few bugs - and they were all caught by first run.Signed-off-by: Sam Ravnborg
Signed-off-by: David S. Miller -
To align with sparc64 add a "Bus options" menu
This has the additiona advantage that all
bus options are kept togetherSigned-off-by: Sam Ravnborg
Signed-off-by: David S. Miller