History log of /arch/sh/kernel/setup.c
Revision Date Author Comments
e7e8de5918dd6a07cbddae559600d7765ad6a56e 22-Jan-2014 Tang Chen <tangchen@cn.fujitsu.com> memblock: make memblock_set_node() support different memblock_type

[sfr@canb.auug.org.au: fix powerpc build]
Signed-off-by: Tang Chen <tangchen@cn.fujitsu.com>
Reviewed-by: Zhang Yanfei <zhangyanfei@cn.fujitsu.com>
Cc: "H. Peter Anvin" <hpa@zytor.com>
Cc: "Rafael J . Wysocki" <rjw@sisk.pl>
Cc: Chen Tang <imtangchen@gmail.com>
Cc: Gong Chen <gong.chen@linux.intel.com>
Cc: Ingo Molnar <mingo@elte.hu>
Cc: Jiang Liu <jiang.liu@huawei.com>
Cc: Johannes Weiner <hannes@cmpxchg.org>
Cc: Lai Jiangshan <laijs@cn.fujitsu.com>
Cc: Larry Woodman <lwoodman@redhat.com>
Cc: Len Brown <lenb@kernel.org>
Cc: Liu Jiang <jiang.liu@huawei.com>
Cc: Mel Gorman <mgorman@suse.de>
Cc: Michal Nazarewicz <mina86@mina86.com>
Cc: Minchan Kim <minchan@kernel.org>
Cc: Prarit Bhargava <prarit@redhat.com>
Cc: Rik van Riel <riel@redhat.com>
Cc: Taku Izumi <izumi.taku@jp.fujitsu.com>
Cc: Tejun Heo <tj@kernel.org>
Cc: Thomas Gleixner <tglx@linutronix.de>
Cc: Thomas Renninger <trenn@suse.de>
Cc: Toshi Kani <toshi.kani@hp.com>
Cc: Vasilis Liaskovitis <vasilis.liaskovitis@profitbricks.com>
Cc: Wanpeng Li <liwanp@linux.vnet.ibm.com>
Cc: Wen Congyang <wency@cn.fujitsu.com>
Cc: Yasuaki Ishimatsu <isimatu.yasuaki@jp.fujitsu.com>
Cc: Yinghai Lu <yinghai@kernel.org>
Signed-off-by: Stephen Rothwell <sfr@canb.auug.org.au>
Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
4603f53a1dc3c76dfba841d123db9fa6204934f5 18-Jun-2013 Paul Gortmaker <paul.gortmaker@windriver.com> sh: delete __cpuinit usage from all sh files

The __cpuinit type of throwaway sections might have made sense
some time ago when RAM was more constrained, but now the savings
do not offset the cost and complications. For example, the fix in
commit 5e427ec2d0 ("x86: Fix bit corruption at CPU resume time")
is a good example of the nasty type of bugs that can be created
with improper use of the various __init prefixes.

After a discussion on LKML[1] it was decided that cpuinit should go
the way of devinit and be phased out. Once all the users are gone,
we can then finally remove the macros themselves from linux/init.h.

Note that some harmless section mismatch warnings may result, since
notify_cpu_starting() and cpu_up() are arch independent (kernel/cpu.c)
are flagged as __cpuinit -- so if we remove the __cpuinit from
arch specific callers, we will also get section mismatch warnings.
As an intermediate step, we intend to turn the linux/init.h cpuinit
content into no-ops as early as possible, since that will get rid
of these warnings. In any case, they are temporary and harmless.

This removes all the arch/sh uses of the __cpuinit macros from
all C files. Currently sh does not have any __CPUINIT used in
assembly files.

[1] https://lkml.org/lkml/2013/5/20/589

Cc: Paul Mundt <lethal@linux-sh.org>
Cc: linux-sh@vger.kernel.org
Signed-off-by: Paul Gortmaker <paul.gortmaker@windriver.com>
363737d66427c18edb321a06933ac999d9ce5d7f 31-May-2012 Geert Uytterhoeven <geert@linux-m68k.org> mtd/uclinux: Use generic __bss_stop instead of _ebss

The standard (see BSS_SECTION() in <asm-generic/vmlinux.lds.h> and
<asm-generic/sections.h>) symbol for the end of BSS is __bss_stop.
This allows to remove all local declarations that have been added to
several architectures just to please CONFIG_MTD_UCLINUX.

Signed-off-by: Geert Uytterhoeven <geert@linux-m68k.org>
Acked-by: Paul Mundt <lethal@linux-sh.org>
Acked-by: Mike Frysinger <vapier@gentoo.org>
Acked-by: Michal Simek <monstr@monstr.eu>
Acked-by: Greg Ungerer <gerg@uclinux.org>
534cfbee295222e188c391db5187ca9a6ab0c035 08-Dec-2011 Tejun Heo <tj@kernel.org> SuperH: Use HAVE_MEMBLOCK_NODE_MAP

sh doesn't access early_node_map[] directly and enabling
HAVE_MEMBLOCK_NODE_MAP is trivial - replacing add_active_range() calls
with memblock_set_node() and selecting HAVE_MEMBLOCK_NODE_MAP is
enough.

Signed-off-by: Tejun Heo <tj@kernel.org>
Cc: Paul Mundt <lethal@linux-sh.org>
Cc: linux-sh@vger.kernel.org
41309b7a22805f1650c600723d729af453d52719 02-Sep-2011 Simon Horman <horms@verge.net.au> sh: kexec: Register crashk_res

Register crashk_res so that it can be used by kexec-tools
via /proc/iomem.

The crash kernel resource needs to be requested the same as the
other kernel resources due to the fact that it's handled during
the common path for adding new memory ranges, so it's added in to
__add_active_range() with the others. This ensures that the crash
kernel is properly reserved regardless of which memory range it's
placed in.

Signed-off-by: Simon Horman <horms@verge.net.au>
Signed-off-by: Paul Mundt <lethal@linux-sh.org>
25985edcedea6396277003854657b5f3cb31a628 31-Mar-2011 Lucas De Marchi <lucas.demarchi@profusion.mobi> Fix common misspellings

Fixes generated by 'codespell' and manually reviewed.

Signed-off-by: Lucas De Marchi <lucas.demarchi@profusion.mobi>
a9b27bcc6acf2491609f51aa592ec67311d4518d 01-Nov-2010 Paul Mundt <lethal@linux-sh.org> sh: Break out cpuinfo_op procfs bits.

Presently this is all inlined in setup.c, which is not really the place
for it. Follow the x86 example and split it out into its own file.

Signed-off-by: Paul Mundt <lethal@linux-sh.org>
9cc1cf380e15f7314f8defb849b8e926d5755f8b 27-Oct-2010 Paul Mundt <lethal@linux-sh.org> sh: Fix the sparsemem disabled build.

The introduction of MAX_PHYSMEM_BITS in to the initial cpuinfo struct
causes a build error when sparsemem is disabled and asm/sparsemem.h is
not brought in by other means. Include it explicitly.

Signed-off-by: Paul Mundt <lethal@linux-sh.org>
2f98492c5375e906e48c78d88351f45bb11b6a8a 26-Oct-2010 Paul Mundt <lethal@linux-sh.org> sh: Expose physical addressing mode through cpuinfo.

CPUs can be in either the legacy 29-bit or 32-bit physical addressing
modes. This follows the x86 approach of tracking the phys bits in cpuinfo
and exposing it to userspace through procfs.

This change was requested to permit kexec-tools to detect the physical
addressing mode in order to determine the appropriate address mangling.

Signed-off-by: Paul Mundt <lethal@linux-sh.org>
901c28c257eb8903a7d66c900df163e2c13ca995 05-Oct-2010 Nobuhiro Iwamatsu <iwamatsu.nobuhiro@renesas.com> sh: Fix address calculation of Initrd

Signed-off-by: Nobuhiro Iwamatsu <nobuhiro.iwamatsu.yj@renesas.com>
Signed-off-by: Paul Mundt <lethal@linux-sh.org>
3f224f4e057ce67713f3e7a8890f2fbe12d047a5 23-Sep-2010 Paul Mundt <lethal@linux-sh.org> sh: provide generic arch_debugfs_dir.

While sh previously had its own debugfs root, there now exists a
common arch_debugfs_dir prototype, so we switch everything over to
that. Presumably once more architectures start making use of this
we'll be able to just kill off the stub kdebugfs wrapper.

Signed-off-by: Paul Mundt <lethal@linux-sh.org>
95f72d1ed41a66f1c1c29c24d479de81a0bea36f 12-Jul-2010 Yinghai Lu <yinghai@kernel.org> lmb: rename to memblock

via following scripts

FILES=$(find * -type f | grep -vE 'oprofile|[^K]config')

sed -i \
-e 's/lmb/memblock/g' \
-e 's/LMB/MEMBLOCK/g' \
$FILES

for N in $(find . -name lmb.[ch]); do
M=$(echo $N | sed 's/lmb/memblock/g')
mv $N $M
done

and remove some wrong change like lmbench and dlmb etc.

also move memblock.c from lib/ to mm/

Suggested-by: Ingo Molnar <mingo@elte.hu>
Acked-by: "H. Peter Anvin" <hpa@zytor.com>
Acked-by: Benjamin Herrenschmidt <benh@kernel.crashing.org>
Acked-by: Linus Torvalds <torvalds@linux-foundation.org>
Signed-off-by: Yinghai Lu <yinghai@kernel.org>
Signed-off-by: Benjamin Herrenschmidt <benh@kernel.crashing.org>
21823259a70b7a2a21eea1d48c25a6f38896dd11 11-May-2010 Paul Mundt <lethal@linux-sh.org> sh: Ensure active regions have a backing PMB entry.

In the NUMA or memory hot-add case where system memory has been
partitioned up, we immediately run in to a situation where the existing
PMB entry doesn't cover the new range (primarily as a result of the entry
size being shrunk to match the node size early in the initialization). In
order to fix this up it's necessary to preload a PMB mapping for the new
range prior to activation in order to circumvent reset by MMU.

Signed-off-by: Paul Mundt <lethal@linux-sh.org>
4bc277ac9cae60e11fe2e557e4ea4acb56d3dc9a 11-May-2010 Paul Mundt <lethal@linux-sh.org> sh: bootmem refactoring.

This reworks much of the bootmem setup and initialization code allowing
us to get rid of duplicate work between the NUMA and non-NUMA cases. The
end result is that we end up with a much more flexible interface for
supporting more complex topologies (fake NUMA, highmem, etc, etc.) which
is entirely LMB backed. This is an incremental step for more NUMA work as
well as gradually enabling migration off of bootmem entirely.

Signed-off-by: Paul Mundt <lethal@linux-sh.org>
5e2ff328c0668794ff408a4632f5b8a62827571f 10-May-2010 Paul Mundt <lethal@linux-sh.org> sh: rework memory limits to work with LMB.

This reworks the memory limit handling to tie in through the available
LMB infrastructure. This requires a bit of reordering as we need to have
all of the LMB reservations taken care of prior to establishing the
limits.

While we're at it, the crash kernel reservation semantics are reworked
so that we allocate from the bottom up and reduce the risk of having
to disable the memory limit due to a clash with the crash kernel
reservation.

Signed-off-by: Paul Mundt <lethal@linux-sh.org>
19d8f84f86af867abee174be8bf1e4941a59143d 10-May-2010 Paul Mundt <lethal@linux-sh.org> sh: enable LMB region setup via machvec.

This plugs in a memory init callback in the machvec to permit boards to
wire up various bits of memory directly in to LMB. A generic machvec
implementation is provided that simply wraps around the normal
Kconfig-derived memory start/size.

Signed-off-by: Paul Mundt <lethal@linux-sh.org>
7aed3b34fb0a98e89d0e999f5833ceebdb3876b9 07-May-2010 Paul Mundt <lethal@linux-sh.org> sh: shuffle the elfcorehdr handling over to the crash dump code.

The elfcorehdr parsing was just tossed in setup.c, but nothing outside of
the crash dump code/vmcore bits require it, so we just move it out of the
way, as per ppc.

Signed-off-by: Paul Mundt <lethal@linux-sh.org>
080e71e13d99d850875c0335c364766162eae7c6 07-May-2010 Paul Mundt <lethal@linux-sh.org> sh: bump up extra LMB reservations in bootmem init.

This bumps up the extra LMB reservations in ordering so that they're
accounted for prior to iterating over the region list. This ensures that
reservations are visible both within the LMB and bootmem context.

Signed-off-by: Paul Mundt <lethal@linux-sh.org>
36fa06d6b5ef1874d012c04b23d5b8982b1f8dea 07-May-2010 Paul Mundt <lethal@linux-sh.org> sh: convert initrd reservation to LMB.

This switches over from bootmem -> LMB for the initrd area reservation.

Signed-off-by: Paul Mundt <lethal@linux-sh.org>
a5ec39507129a086d8838228ac1ca0a2eab38f91 07-May-2010 Paul Mundt <lethal@linux-sh.org> sh: convert kexec crash kernel management to LMB.

This migrates the crash kernel handling off of bootmem and over to LMB.

Signed-off-by: Paul Mundt <lethal@linux-sh.org>
9b7a37853a8cd69829eb1d9715a6c09aae01eeec 06-May-2010 Paul Mundt <lethal@linux-sh.org> sh: Make initrd detection more robust.

Various boot loaders go to various extents to thwart the initrd detection
logic (mostly on account of not being able to be bothered with adhering
to the established boot ABI), so we make the detection logic a bit more
robust. This makes it possible to work around the SDK7786's firmware's
attempts to thwart compressed image booting. Victory is mine.

Signed-off-by: Paul Mundt <lethal@linux-sh.org>
c9f4a3f53b5d61f86eae3512abdf948878ca3498 26-Apr-2010 Paul Mundt <lethal@linux-sh.org> sh: arch/sh/kernel/setup.c needs asm/smp.h.

With the platform ops migration, the definitions still need to be
included in the CONFIG_SMP=n case, so make the asm/smp.h include
explicit.

Signed-off-by: Paul Mundt <lethal@linux-sh.org>
3366e3585fbf0d40ce6f2382b544851cf4df1654 29-Mar-2010 Paul Mundt <lethal@linux-sh.org> sh: Move platform smp ops in to their own structure.

This cribs the MIPS plat_smp_ops approach for wrapping up the platform
ops. This will allow for mixing and matching different ops on the same
platform in the future.

Signed-off-by: Paul Mundt <lethal@linux-sh.org>
09e1172317d1038918c5a139ba31155610f802b5 03-Mar-2010 Paul Mundt <lethal@linux-sh.org> sh: establish PMB mappings for NUMA nodes.

In the case of NUMA emulation when in range PPNs are being used for
secondary nodes, we need to make sure that the PMB has a mapping for it
before setting up the pgdat. This prevents the MMU from resetting.

Signed-off-by: Paul Mundt <lethal@linux-sh.org>
d01447b3197c2c470a14666be2c640407bbbfec7 18-Feb-2010 Paul Mundt <lethal@linux-sh.org> sh: Merge legacy and dynamic PMB modes.

This implements a bit of rework for the PMB code, which permits us to
kill off the legacy PMB mode completely. Rather than trusting the boot
loader to do the right thing, we do a quick verification of the PMB
contents to determine whether to have the kernel setup the initial
mappings or whether it needs to mangle them later on instead.

If we're booting from legacy mappings, the kernel will now take control
of them and make them match the kernel's initial mapping configuration.
This is accomplished by breaking the initialization phase out in to
multiple steps: synchronization, merging, and resizing. With the recent
rework, the synchronization code establishes page links for compound
mappings already, so we build on top of this for promoting mappings and
reclaiming unused slots.

At the same time, the changes introduced for the uncached helpers also
permit us to dynamically resize the uncached mapping without any
particular headaches. The smallest page size is more than sufficient for
mapping all of kernel text, and as we're careful not to jump to any far
off locations in the setup code the mapping can safely be resized
regardless of whether we are executing from it or not.

Signed-off-by: Paul Mundt <lethal@linux-sh.org>
4d35b93a66e9b87df20784fcf130d2e8760be53f 05-Nov-2009 Matt Fleming <matt@console-pimps.org> sh: Add fixed ioremap support

Some devices need to be ioremap'd and accessed very early in the boot
process. It is not possible to use the standard ioremap() function in
this case because that requires kmalloc()'ing some virtual address space
and kmalloc() may not be available so early in boot.

This patch provides fixmap mappings that allow physical address ranges
to be remapped into the kernel address space during the early boot
stages.

Signed-off-by: Matt Fleming <matt@console-pimps.org>
a0ab36689a36e583b6e736f1c99ac8c9aebdad59 13-Jan-2010 Paul Mundt <lethal@linux-sh.org> sh: fixed PMB mode refactoring.

This introduces some much overdue chainsawing of the fixed PMB support.
fixed PMB was introduced initially to work around the fact that dynamic
PMB mode was relatively broken, though they were never intended to
converge. The main areas where there are differences are whether the
system is booted in 29-bit mode or 32-bit mode, and whether legacy
mappings are to be preserved. Any system booting in true 32-bit mode will
not care about legacy mappings, so these are roughly decoupled.

Regardless of the entry point, PMB and 32BIT are directly related as far
as the kernel is concerned, so we also switch back to having one select
the other.

With legacy mappings iterated through and applied in the initialization
path it's now possible to finally merge the two implementations and
permit dynamic remapping overtop of remaining entries regardless of
whether boot mappings are crafted by hand or inherited from the boot
loader.

Signed-off-by: Paul Mundt <lethal@linux-sh.org>
7b6fd3bf82c4901f6ba0101ba71a5c507c24f9cf 14-Dec-2009 Magnus Damm <damm@opensource.se> sh-sci: Extend sh-sci driver with early console V2

This is V2 of early serial console support for the sh-sci
driver. The early serial console is using early platform
devices and "earlyprintk". To use this feature the early
platform devices must be broken out to one device per port
and the desired port should be selected on the kernel command
line like: "earlyprintk=sh-sci.N[,baudrate][,keep]"

Signed-off-by: Magnus Damm <damm@opensource.se>
Signed-off-by: Paul Mundt <lethal@linux-sh.org>
2908df9e2ce85e4de19ba81ac619acdf93a8bfaa 14-Oct-2009 Paul Mundt <lethal@linux-sh.org> sh: Tidy up SMP cpuinfo.

Trivial change for cleaning up the cpuinfo pretty printing on SMP, adds a
newline between CPUs.

Signed-off-by: Paul Mundt <lethal@linux-sh.org>
20b5014b3e5fe7b874a3f6a1dc03b0c21cb222cd 06-Oct-2009 Matt Fleming <matt@console-pimps.org> sh: Fold fixed-PMB support into dynamic PMB support

The initialisation process differs for CONFIG_PMB and for
CONFIG_PMB_FIXED. For CONFIG_PMB_FIXED we need to register the PMB
entries that were allocated by the bootloader.

Signed-off-by: Matt Fleming <matt@console-pimps.org>
Signed-off-by: Paul Mundt <lethal@linux-sh.org>
8386aebb9e15a94137693ea4f4df84207f71cc75 06-Oct-2009 Matt Fleming <matt@console-pimps.org> sh: Make most PMB functions static

There's no need to export the internal PMB functions for allocating,
freeing and modifying PMB entries, etc. This way we can restrict the
interface for PMB.

Also remove the static from pmb_init() so that we have more freedom in
setting up the initial PMB entries and turning on MMU 32bit mode.

Signed-off-by: Matt Fleming <matt@console-pimps.org>
Signed-off-by: Paul Mundt <lethal@linux-sh.org>
d724a9c9d572e092d1ce820463f082697487b874 24-Aug-2009 Pawel Moll <pawel.moll@st.com> sh: Allow for kernel command line concatenation.

So far kernel command line arguments could be passed in by a bootloader
or defined as CONFIG_CMDLINE, which completely overwriting the first one.

This change allows a developer to declare selected kernel parameters in
a kernel configuration (eg. project-specific defconfig), retaining
possibility of passing others by a bootloader.

The obvious examples of the first type are MTD partition or
bigphysarea-like region definitions, while "debug" option or network
configuration should be given by a bootloader or a JTAG boot script.

Signed-off-by: Pawel Moll <pawel.moll@st.com>
Signed-off-by: Stuart Menefy <stuart.menefy@st.com>
Signed-off-by: Paul Mundt <lethal@linux-sh.org>
c01f0f1a4a96eb3acc5850e18cc43f24366966d0 21-Aug-2009 Yoshihiro Shimoda <shimoda.yoshihiro@renesas.com> sh: Add initial support for SH7757 CPU subtype

Signed-off-by: Yoshihiro Shimoda <shimoda.yoshihiro@renesas.com>
Signed-off-by: Paul Mundt <lethal@linux-sh.org>
e82da214d2fe3dc2610df966100c4f36bc0fad91 15-Aug-2009 Paul Mundt <lethal@linux-sh.org> sh: Track the CPU family in sh_cpuinfo.

This adds a family member to struct sh_cpuinfo, which allows us to fall
back more on the probe routines to work out what sort of subtype we are
running on. This will be used by the CPU cache initialization code in
order to first do family-level initialization, followed by subtype-level
optimizations.

Signed-off-by: Paul Mundt <lethal@linux-sh.org>
c601a51af10f714292f42eab45fa8c9154dc1414 03-Jul-2009 Matt Fleming <matt@console-pimps.org> sh: Use bootmem ontop of lmb

Rework the bootmem allocator to use the lmb framework.

Signed-off-by: Matt Fleming <matt@console-pimps.org>
Signed-off-by: Paul Mundt <lethal@linux-sh.org>
0d4fdbb64f472ef31195714993f1263f77cf85ca 02-Jun-2009 Magnus Damm <damm@igel.co.jp> sh: rework mode pin code

This patch reworks the mode pin code to keep the pin
definitions in one place. The mode pins values are now
the value of the bit instead of bit number.

With this patch in place the sh7785 header file contains
mode pin comments. The sh7785 clock code and the sh7785lcr
board code are updated to reflect the new shared mode pins.

Signed-off-by: Magnus Damm <damm@igel.co.jp>
Signed-off-by: Paul Mundt <lethal@linux-sh.org>
eb9b9b56eed280e65a9e194aaeb50a5a75111859 28-May-2009 Magnus Damm <damm@igel.co.jp> sh: boot word / mode pin support V2

Add mode pin support for the SuperH architecture V2.

With this patch applied the board code can add their
own function to export the cpu mode pin configuration.
In most cases this will be a constant bitmap, but
boards that allow reading this from a register can
instead read out the pin state from hardware.

The code warns if a pin is tested but no board specific
mode pin function has been provided.

Signed-off-by: Magnus Damm <damm@igel.co.jp>
Signed-off-by: Paul Mundt <lethal@linux-sh.org>
7b551f9daa9bd9533ba4ce31622ed4be1dd97d3e 08-May-2009 Paul Mundt <lethal@linux-sh.org> sh: Kill off the GENERIC_CALIBRATE_DELAY ifndef.

Now that everyone is using the clock framework directly and we
unconditionally provide our own calibrate_delay() function, having it
wrapped in an ifndef is no longer useful. So, kill it off.

Signed-off-by: Paul Mundt <lethal@linux-sh.org>
87a00dc059e3af46303f1f56b0e8df41af988c7b 15-Apr-2009 Magnus Damm <damm@igel.co.jp> sh: Add plat_early_device_setup()

Add a plat_early_device_setup() function to allow
processor-specific code to register Early Platform Data.

Signed-off-by: Magnus Damm <damm@igel.co.jp>
Signed-off-by: Paul Mundt <lethal@linux-sh.org>
0207a2efb43d81e29e23662b5d035945688a103f 16-Apr-2009 Kuninori Morimoto <morimoto.kuninori@renesas.com> sh: Add support for SH7724 (SH-Mobile R2R) CPU subtype.

This implements initial support for the SH-Mobile R2R CPU.
Based on Rev 0.11 of the initial SH7724 hardware manual.

Signed-off-by: Kuninori Morimoto <morimoto.kuninori@renesas.com>
Signed-off-by: Paul Mundt <lethal@linux-sh.org>
0bd4781d40ffc3bff939a2540041144b99c373b8 31-Mar-2009 Paul Mundt <lethal@linux-sh.org> sh: Fix up -Wformat-security whining.

Triggers -Werror on gcc-4.3:

arch/sh/kernel/setup.c: In function 'early_parse_mem':
arch/sh/kernel/setup.c:111: error: format not a string literal and no format arguments
...

Signed-off-by: Paul Mundt <lethal@linux-sh.org>
8263a67e169fdf0d06d172acbf6c03ae172a69d4 17-Mar-2009 Paul Mundt <lethal@linux-sh.org> sh: Support for extended ASIDs on PTEAEX-capable SH-X3 cores.

This adds support for extended ASIDs (up to 16-bits) on newer SH-X3 cores
that implement the PTAEX register and respective functionality. Presently
only the 65nm SH7786 (90nm only supports legacy 8-bit ASIDs).

The main change is in how the PTE is written out when loading the entry
in to the TLB, as well as in how the TLB entry is selectively flushed.

While SH-X2 extended mode splits out the memory-mapped U and I-TLB data
arrays for extra bits, extended ASID mode splits out the address arrays.
While we don't use the memory-mapped data array access, the address
array accesses are necessary for selective TLB flushes, so these are
implemented newly and replace the generic SH-4 implementation.

With this, TLB flushes in switch_mm() are almost non-existent on newer
parts.

Signed-off-by: Paul Mundt <lethal@linux-sh.org>
55ba99eb211a06709237cb322ecd8c8b6faf6159 03-Mar-2009 Kuninori Morimoto <morimoto.kuninori@renesas.com> sh: Add support for SH7786 CPU subtype.

This adds preliminary support for the SH7786 CPU subtype.

While this is a dual-core CPU, only UP is supported for now. L2 cache
support is likewise not yet implemented.

More information on this particular CPU subtype is available at:

http://www.renesas.com/fmwk.jsp?cnt=sh7786_root.jsp&fp=/products/mpumcu/superh_family/sh7780_series/sh7786_group/

Signed-off-by: Kuninori Morimoto <morimoto.kuninori@renesas.com>
Signed-off-by: Paul Mundt <lethal@linux-sh.org>
48865163109690ed988e2d98d6f258ec743c94c7 06-Oct-2008 Christopher SMITH <chris.smith@st.com> sh: Only reserve memory under CONFIG_ZERO_PAGE_OFFSET when it != 0.

Signed-off-by: Chris Smith <chris.smith@st.com>
Signed-off-by: Stuart Menefy <stuart.menefy@st.com>
Signed-off-by: Paul Mundt <lethal@linux-sh.org>
2825999e8a9bd7ab7e25a7e7475c7cdd10371a13 28-Nov-2008 Peter Griffin <pgriffin@mpc-data.co.uk> sh: Add support for SH7201 CPU subtype.

This patch adds support for the SH-2A FPU based SH7201 processor subtype.

Signed-off-by: Peter Griffin <pgriffin@mpc-data.co.uk>
Signed-off-by: Paul Mundt <lethal@linux-sh.org>
4aeaa223433355a281559033f1e7600bfd73238e 09-Oct-2008 Magnus Damm <damm@igel.co.jp> sh: add dynamic crash base address support

Add support for dynamic crash kernel base address.

Signed-off-by: Magnus Damm <damm@igel.co.jp>
Signed-off-by: Paul Mundt <lethal@linux-sh.org>
9a19eb2a6607f2f6329efb3c4637fe23afae2cd7 20-Oct-2008 Paul Mundt <lethal@linux-sh.org> sh: Fix up some merge damage.

Signed-off-by: Paul Mundt <lethal@linux-sh.org>
9986b311efdc9727a5a48f03c3dac3d536fbaa74 17-Oct-2008 Zhaolei <zhaolei@cn.fujitsu.com> Fix debugfs_create_dir's error checking method for arch/sh/kernel/

debugfs_create_dir() returns NULL if an error occurs, returns -ENODEV
when debugfs is not enabled in the kernel.

Signed-off-by: Zhao Lei <zhaolei@cn.fujitsu.com>
Signed-off-by: Paul Mundt <lethal@linux-sh.org>
cf204fa797cf968de8043491cd469ad0321d0940 08-Sep-2008 Paul Mundt <lethal@linux-sh.org> sh: Derive calibrate_delay lpj from clk fwk.

All CPUs must have a sensible cpu_clk definition these days, which we can
safely use for deriving the preset loops_per_jiffy. The only odd one out
is SH-5, which hasn't been hammered in to the framework yet.

Based on the ST patch.

Signed-off-by: Francesco Virlinzi <francesco.virlinzi@st.com>
Signed-off-by: Carl Shaw <carl.shaw@st.com>
Signed-off-by: Paul Mundt <lethal@linux-sh.org>
f040ddaf4cfd28f25ea9d6a42d3c734d5c3f6798 05-Sep-2008 Stuart Menefy <stuart.menefy@st.com> sh: Fix an unusual memory initialisation error.

This fixes a problems with the set up of Linux memory:

- When reserving memory at boot time, the code previously reserved
the bottom page of memory, and then from one page up to the end of
the bootmap. This had the desired effect, but was strictly speaking
wrong, as the one page was actually whatever CONFIG_ZERO_PAGE_OFFSET
had been set to.

Signed-off-by: Stuart Menefy <stuart.menefy@st.com>
Signed-off-by: Paul Mundt <lethal@linux-sh.org>
28d6e52cf7e881834d2dab370afa20b6223f726c 05-Sep-2008 Stuart Menefy <stuart.menefy@st.com> sh: Fix up broken 32-bit initrd support.

Signed-off-by: Stuart Menefy <stuart.menefy@st.com>
Signed-off-by: Paul Mundt <lethal@linux-sh.org>
fa43972fab24a3c050e880a7831f9378c6cebc0b 04-Sep-2008 Paul Mundt <lethal@linux-sh.org> sh: fixup many sparse errors.

Signed-off-by: Paul Mundt <lethal@linux-sh.org>
34894c7843e00972d88b3592027703d4e05a06a7 27-Aug-2008 Magnus Damm <damm@igel.co.jp> sh: crash kernel resource fix

The reserved crash kernel memory range is currently missing from
/proc/iomem. crashk_res is mistakenly setup after __add_active_range().
Reorder things to make sure the resource shows up in /proc/iomem.

Signed-off-by: Magnus Damm <damm@igel.co.jp>
Signed-off-by: Paul Mundt <lethal@linux-sh.org>
daf423db3b6afd90ecdd776dbc32c0b57cc78edb 30-Jul-2008 Simon Horman <horms@verge.net.au> kdump: sh: parse elfcorehdr command line argument

A quick cut and paste from other architectures to allow SH
to parse the elfcorehdr command line argument which is required
for both is_kdump_kernel() and vmcore to function.
(the former is as yet unused on SH).

Tested compilation only

Signed-off-by: Simon Horman <horms@verge.net.au>
Signed-off-by: Paul Mundt <lethal@linux-sh.org>
3611ee7acc113e5e482b7d20d5133935226f3129 02-Jul-2008 Stuart Menefy <stuart.menefy@st.com> sh: Stub in silicon cut in CPU info.

Signed-off-by: Stuart Menefy <stuart.menefy@st.com>
Signed-off-by: Paul Mundt <lethal@linux-sh.org>
b19a33cabafbac56ba581e2a77ea6476db9118ab 18-Jun-2008 Adrian Bunk <bunk@kernel.org> sh: export get_cpu_subtype

This patch fixes the following build error:

<-- snip -->

...
MODPOST 1837 modules
ERROR: "get_cpu_subtype" [arch/sh/oprofile/oprofile.ko] undefined!
...
make[2]: *** [__modpost] Error 1

<-- snip -->

Reported-by: Adrian Bunk <bunk@kernel.org>
Signed-off-by: Adrian Bunk <bunk@kernel.org>
Signed-off-by: Paul Mundt <lethal@linux-sh.org>
0105346cc763a6e34e80feb6adb36ed9781150d4 13-May-2008 Paul Mundt <lethal@linux-sh.org> sh: display boot params by default on entry.

Some kernel and boot loader configurations tweak the .empty_zero_page
settings, while others do not. Print the values out on entry as a
debugging aid.

Signed-off-by: Paul Mundt <lethal@linux-sh.org>
0146ba78b9339c27ed12545f9bdc208604354bb3 23-Apr-2008 Magnus Damm <magnus.damm@gmail.com> sh: add memory resources to /proc/iomem

Add physical memory resources such as System RAM, Kernel code/data/bss
and reserved crash dump area to /proc/iomem. Same strategy as on x86.

Signed-off-by: Magnus Damm <damm@igel.co.jp>
Signed-off-by: Paul Mundt <lethal@linux-sh.org>
3d83984e99d80672b1d2e3c7dfdd393631883428 23-Apr-2008 Magnus Damm <magnus.damm@gmail.com> sh: add kernel bss resource

Do like everyone else and have a struct resource for kernel bss.

Signed-off-by: Magnus Damm <damm@igel.co.jp>
Signed-off-by: Paul Mundt <lethal@linux-sh.org>
971ac16d56301c7150771409607846f9facc2f13 25-Apr-2008 Paul Mundt <lethal@linux-sh.org> sh64: Some symbol exports to make the allmodconfig happier.

Signed-off-by: Paul Mundt <lethal@linux-sh.org>
178dd0cd28168287a0be6444a7eef8918b6c544e 09-Apr-2008 Paul Mundt <lethal@linux-sh.org> sh: Add support for SH7723 CPU subtype.

This adds basic support for the SH7723 MobileR2 CPU.

Signed-off-by: Paul Mundt <lethal@linux-sh.org>
2ad699080bbe3a88d17a1ff11e5575b76850174f 12-Mar-2008 Paul Mundt <lethal@linux-sh.org> sh: Initial support for the MX-G CPU.

Signed-off-by: Paul Mundt <lethal@linux-sh.org>
b9e393c2babb8b6956de52fc580b7c23f3629232 07-Mar-2008 Paul Mundt <lethal@linux-sh.org> sh: Create an sh debugfs root.

Signed-off-by: Paul Mundt <lethal@linux-sh.org>
9109a30e5a548b39463b5a777943cf103da507af 08-Feb-2008 Magnus Damm <magnus.damm@gmail.com> sh: add support for sh7366 processor

This patch adds sh7366 cpu supports. Just the most basic things like interrupt
controller, clocks and serial port are included at this point.

Signed-off-by: Magnus Damm <damm@igel.co.jp>
Signed-off-by: Paul Mundt <lethal@linux-sh.org>
18a01a3beb9f25a70a51e12e3c1c3d273da10eca 07-Feb-2008 Bernhard Walle <bwalle@suse.de> Use BOOTMEM_EXCLUSIVE for kdump

Use the BOOTMEM_EXCLUSIVE, introduced in the previous patch, to avoid
conflicts while reserving the memory for the kdump capture kernel
(crashkernel=).

Signed-off-by: Bernhard Walle <bwalle@suse.de>
Cc: <linux-arch@vger.kernel.org>
Cc: "Eric W. Biederman" <ebiederm@xmission.com>
Cc: Vivek Goyal <vgoyal@in.ibm.com>
Acked-by: Paul Mundt <lethal@linux-sh.org>
Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
72a7fe3967dbf86cb34e24fbf1d957fe24d2f246 07-Feb-2008 Bernhard Walle <bwalle@suse.de> Introduce flags for reserve_bootmem()

This patchset adds a flags variable to reserve_bootmem() and uses the
BOOTMEM_EXCLUSIVE flag in crashkernel reservation code to detect collisions
between crashkernel area and already used memory.

This patch:

Change the reserve_bootmem() function to accept a new flag BOOTMEM_EXCLUSIVE.
If that flag is set, the function returns with -EBUSY if the memory already
has been reserved in the past. This is to avoid conflicts.

Because that code runs before SMP initialisation, there's no race condition
inside reserve_bootmem_core().

[akpm@linux-foundation.org: coding-style fixes]
[akpm@linux-foundation.org: fix powerpc build]
Signed-off-by: Bernhard Walle <bwalle@suse.de>
Cc: <linux-arch@vger.kernel.org>
Cc: "Eric W. Biederman" <ebiederm@xmission.com>
Cc: Vivek Goyal <vgoyal@in.ibm.com>
Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
773c7bd69434a356af4363a61889ef975b256e32 22-Jan-2008 Jan Engelhardt <jengelh@computergmbh.de> sh: constify function pointer tables

Signed-off-by: Jan Engelhardt <jengelh@computergmbh.de>
Signed-off-by: Paul Mundt <lethal@linux-sh.org>
7d740a066fb9c6681c2898c7977209725c9e552f 07-Jan-2008 Yoshihiro Shimoda <shimoda.yoshihiro@renesas.com> sh: Add support for SH7763 CPU subtype.

Signed-off-by: Yoshihiro Shimoda <shimoda.yoshihiro@renesas.com>
Signed-off-by: Paul Mundt <lethal@linux-sh.org>
31a49c4bf8f964b7a9897baa889916d71b51d9c1 26-Dec-2007 Yoshihiro Shimoda <shimoda.yoshihiro@renesas.com> sh: Add support for SH7721 CPU subtype.

Signed-off-by: Yoshihiro Shimoda <shimoda.yoshihiro@renesas.com>
Signed-off-by: Paul Mundt <lethal@linux-sh.org>
cd01204b82933754a7276838656420477f64d4b8 10-Dec-2007 Paul Mundt <lethal@linux-sh.org> sh: Encode L1/L2 cache shape in auxvt.

This adds in the L1I/L1D/L2 cache shape support to their respective
entries in the ELF auxvt, based on the Alpha implementation. We use
this on the userspace libc side for calculating a tightly packed
SHMLBA amongst other things.

Signed-off-by: Paul Mundt <lethal@linux-sh.org>
d02b08f6e8b184ffef349e395210a5e82ff4f4bc 30-Nov-2007 Stuart Menefy <stuart.menefy@st.com> sh: Clean up places that make 29-bit physical assumptions.

Signed-off-by: Stuart Menefy <stuart.menefy@st.com>
Signed-off-by: Paul Mundt <lethal@linux-sh.org>
80a68a43d90e2221599b507b6b26c3cba1957687 26-Nov-2007 Stuart Menefy <stuart.menefy@st.com> sh: Add a printk() to warn legacy mem= growers.

mem= can't be used to grow the size of kernel memory, so provide a
warning to that effect.

Signed-off-by: Stuart Menefy <stuart.menefy@st.com>
Signed-off-by: Paul Mundt <lethal@linux-sh.org>
a8f67f4b4d4b74cd14d3540ade8657ebee543340 26-Nov-2007 Paul Mundt <lethal@linux-sh.org> sh: Add SH7263 CPU support.

This adds support for the SH7263 (SH-2A) CPU.

This particular CPU is a superset of SH7203, adding some additional
peripheral blocks and hooking up additional (reserved on SH7203)
vectors in the INTC block.

No visibly nasty surprises, yet..

Signed-off-by: Paul Mundt <lethal@linux-sh.org>
6d01f51086cf6c475470cdae67d2f45e5fb57833 26-Nov-2007 Paul Mundt <lethal@linux-sh.org> sh: Add SH7203 CPU support.

This adds support for the SH7203 (SH-2A) CPU.

Signed-off-by: Kieran Bingham <kbingham@mpc-data.co.uk>
Signed-off-by: Paul Mundt <lethal@linux-sh.org>
c2672f62e734292bca4ce4ab5e89c7e04ecb70dc 20-Nov-2007 Paul Mundt <lethal@linux-sh.org> sh: Add the SH-5 cpu type symbolic names.

Signed-off-by: Paul Mundt <lethal@linux-sh.org>
f96691872439ab2071171d4531c4a95b5d493ae5 07-Nov-2007 Paul Mundt <lethal@linux-sh.org> sh: Kill off the remaining ST40 cruft.

The ST40 stuff in-tree hasn't built for some time, and hasn't been
updated for over 3 years. ST maintains their own out-of-tree changes
and rebases occasionally, and that's ultimately where all of the ST40
users go anyways.

In order for the ST40 code to be brought up to date most of the stuff
removed in this changeset would have to be rewritten anyways, so there's
very little benefit in keeping the remnants around either.

Signed-off-by: Paul Mundt <lethal@linux-sh.org>
69d1ef4caf77da7164d3e392bf0a8057b42cf26e 30-Oct-2007 Paul Mundt <lethal@linux-sh.org> sh: Move zero page param defs somewhere sensible.

Follows s390 and others.

Signed-off-by: Paul Mundt <lethal@linux-sh.org>
3f9654f02ede996e5be73866da716b325a6fb66b 30-Oct-2007 Paul Mundt <lethal@linux-sh.org> sh: Kill off legacy embedded ramdisk section.

When the SH kernel used to support embedding a ramdisk in the
pre-initramfs days it was placed in a special section and made to
look like a regular initrd. Since that was removed ages ago, kill
off the remaining cruft that was missed.

Signed-off-by: Paul Mundt <lethal@linux-sh.org>
7e5186eaae8eebc0101d539791dbff92256455ee 30-Oct-2007 Paul Mundt <lethal@linux-sh.org> sh: Fix up early mem cmdline parsing.

memory_end was being clobbered by whatever the kernel config had
specified, rather than obeying the setup option. Fix this up so
that memory_end is only initialized if nothing has been set on
the command line.

Signed-off-by: Paul Mundt <lethal@linux-sh.org>
7d7712a385d5b0a6f921dbd9b66ad3aaed387b5e 19-Oct-2007 Bernhard Walle <bwalle@suse.de> Use extended crashkernel command line on sh

This patch removes the crashkernel parsing from arch/sh/kernel/machine_kexec.c
and calls the generic function, introduced in the generic patch, in
setup_bootmem_allocator().

This is necessary because the amount of System RAM must be known in this
function now because of the new syntax.

Signed-off-by: Bernhard Walle <bwalle@suse.de>
Acked-by: Paul Mundt <lethal@linux-sh.org>
Cc: Vivek Goyal <vgoyal@in.ibm.com>
Cc: "Eric W. Biederman" <ebiederm@xmission.com>
Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
0016a126accb32f1663eaeba966eb76c98f8929b 21-Sep-2007 Paul Mundt <lethal@linux-sh.org> sh: Plug plat_smp_setup() in to generic setup path.

Now that the SMP stubs are in place, call in to the setup code
to be defined by the platform.

Signed-off-by: Paul Mundt <lethal@linux-sh.org>
2d4a73d5b91528322631830784f4eb7897fb5e41 21-Sep-2007 Paul Mundt <lethal@linux-sh.org> sh: Kill off special boot_cpu_data.

This consolidates the cpu_data definitions and gets rid of the special
boot_cpu_data. It's made a wrapper to the boot CPU, in order to keep
the existing in-tree users happy.

Signed-off-by: Paul Mundt <lethal@linux-sh.org>
3ea6bc3de4f15fcae84fb31eeea4d420685a3da2 20-Aug-2007 Markus Brunner <super.firetwister@gmail.com> sh: Add SH7720 CPU support.

This adds support for the SH7720 (SH3-DSP) CPU.

Signed-off by: Markus Brunner <super.firetwister@gmail.com>
Signed-off by: Mark Jonas <toertel@gmail.com>
Signed-off-by: Paul Mundt <lethal@linux-sh.org>
d89ddd1c847637d91625c8cb6b0d064e1717057c 25-Jul-2007 Magnus Damm <damm@igel.co.jp> sh: remove support for sh7300 and solution engine 7300

This patch removes old dead code:
- kill off sh7300 cpu support
- get rid of broken solution engine 7300 board support

Signed-off-by: Magnus Damm <damm@igel.co.jp>
Signed-off-by: Paul Mundt <lethal@linux-sh.org>
870e8a24380cf1854dc1bb5fa5abebb44d82674b 25-Jul-2007 Magnus Damm <damm@igel.co.jp> sh: remove support for sh73180 and solution engine 73180

This patch removes old dead code:
- kill off sh73180 cpu support
- get rid of broken solution engine 73180 board support

Signed-off-by: Magnus Damm <damm@igel.co.jp>
Signed-off-by: Paul Mundt <lethal@linux-sh.org>
98d877c487a75af78f74780703aa6b174780788d 20-Jul-2007 Paul Mundt <lethal@linux-sh.org> sh: Many symbol exports for nommu allmodconfig.

allmodconfig generates a lot of interesting code, a lot of the
generated symbols we've never exported before, so this fixes
those up. Verified with both GCC3 and GCC4 toolchains.

Signed-off-by: Paul Mundt <lethal@linux-sh.org>
2b1bd1ac5d4bffe3fd542bfe1784a583bd7df4fa 20-Jun-2007 Paul Mundt <lethal@linux-sh.org> sh: Preliminary support for the SH-X3 CPU.

This adds basic support for UP SH-X3.

Signed-off-by: Paul Mundt <lethal@linux-sh.org>
b9601c5e59dd25693345558a301e833741bf5874 08-Jun-2007 Paul Mundt <lethal@linux-sh.org> sh: Kill off dead SH7604 support.

This was added during 2.5.x, but was never moved along. This
can easily be resurrected if someone has one they wish to work
with, but it's not worth keeping around in its current form.

Signed-off-by: Paul Mundt <lethal@linux-sh.org>
2826fa61c13716816c7ae658b8f1c5a4a505d8ac 01-Jun-2007 Paul Mundt <lethal@linux-sh.org> sh: Mark sparsemem regions present earlier.

We have to call in to sparse_memory_present_with_active_regions()
earlier in order for sparsemem to be happy. This was being called
too late, and was causing troubles with the platforms that needed
to enable sparsemem.

Signed-off-by: Paul Mundt <lethal@linux-sh.org>
dfbb9042801eaeb4df9015bb86224291a39a0f52 23-May-2007 Paul Mundt <lethal@linux-sh.org> sh: sparsemem support.

This implements basic sparsemem support for SH. Presently this only
uses static sparsemem, and we still permit explicit selection of
flatmem. Those boards that want sparsemem can select it as usual.

Signed-off-by: Paul Mundt <lethal@linux-sh.org>
fd8f20e8e2f8f1d9201086bff444c8d35f0a6a45 15-May-2007 Paul Mundt <lethal@linux-sh.org> sh: Rip out special unknown machvec.

This kills off the BareCPU board as a "special" machvec, rather,
we leave this as a default for when no other vector is available,
or when we want to use it in combination with other vectors for
testing with generic ops. As sh_mv is copied out anyways (or
overloaded when an alternate vector is explicitly selected), this
doesn't consume any additional memory.

The generic machvec can be forcibly selected with sh_mv=generic,
or by not having any other boards enabled.

Signed-off-by: Paul Mundt <lethal@linux-sh.org>
82f81f4784479df17a80caff4a7156da0a2f7dea 15-May-2007 Paul Mundt <lethal@linux-sh.org> sh: Kill off machvec aliases.

We now throw all of the machvecs in to .machvec.init and either
select one on the command line, or copy out the first (and
usually only) one to sh_mv. The rest are freed as usual.

This gets rid of all of the silly sh_mv aliasing and makes the
selection explicit rather than link-order dependent.

Signed-off-by: Paul Mundt <lethal@linux-sh.org>
ba36197cf4ff68f631bb1b3d4cc442d567279fe3 14-May-2007 Paul Mundt <lethal@linux-sh.org> sh: Fixup cmdline handling from machvec changes.

The command line wasn't being saved off properly after the machvec
changes went in, fix it up.

Signed-off-by: Paul Mundt <lethal@linux-sh.org>
9655ad03af2d232c3b26e7562ab4f8c29b107e49 14-May-2007 Paul Mundt <lethal@linux-sh.org> sh: Fixup machvec support.

This fixes up much of the machvec handling, allowing for it to be
overloaded on boot. Making practical use of this still requires
some Kconfig munging, however.

Signed-off-by: Paul Mundt <lethal@linux-sh.org>
7a302a9674593259866de4a9d5ae8edc03dc1934 13-May-2007 Paul Mundt <lethal@linux-sh.org> sh: Split out CPU topology initialization.

Split out the CPU topology initialization to a separate file,
and switch it to a percpu type, rather than an NR_CPUS array.

At the same time, switch to only registering present CPUs,
rather than using the possible CPU map.

Signed-off-by: Paul Mundt <lethal@linux-sh.org>
074f98df0547b7d15f78db9a17e985da0c22af28 08-May-2007 Paul Mundt <lethal@linux-sh.org> sh: Add 32-bit opcode feature CPU flag.

Add a CPU flag for the CPUs that support 32-bit opcodes, which
gets passed down to userspace.

Signed-off-by: Paul Mundt <lethal@linux-sh.org>
4d5ade5b29c618e97a8988efb6967cb4dd0e2183 27-Apr-2007 Paul Mundt <lethal@linux-sh.org> sh: kdump support.

This adds support for kexec based crash dumps.

Signed-off-by: Paul Mundt <lethal@linux-sh.org>
db62e5bd297d1f325811c5495ad23de36db0fdd4 25-Apr-2007 Paul Mundt <lethal@linux-sh.org> sh: Move clock reporting to its own proc entry.

Previously this was done in cpuinfo, but with the number of clocks
growing, it makes more sense to place this in a different proc entry.

Signed-off-by: Paul Mundt <lethal@linux-sh.org>
01066625e9ae39742c92e21163f7f2a818e02762 28-Mar-2007 Paul Mundt <lethal@linux-sh.org> sh: bootmem tidying for discontig/sparsemem preparation.

This reworks some of the node 0 bootmem initialization in
preparation for discontigmem and sparsemem support.

ARCH_POPULATES_NODE_MAP is switched to as a result of this.

Signed-off-by: Paul Mundt <lethal@linux-sh.org>
9465a54fa4a9da628091c372baa84120f8304587 27-Mar-2007 Nobuhiro Iwamatsu <iwamatsu@nigauri.org> sh: MS7712SE01 board support.

Support the SH7712 (SH3-DSP) Solution Engine reference board.

Signed-off-by: Nobuhiro Iwamatsu <iwamatsu@nigauri.org>
Signed-off-by: Paul Mundt <lethal@linux-sh.org>
fa5da2f7bdcf885efe65a37df13907c7d72296f6 08-Mar-2007 Paul Mundt <lethal@linux-sh.org> sh: Bring kgdb back from the dead.

This code has suffered quite a bit of bitrot, do some basic
tidying to get it to a reasonably functional state again.
This gets the basic support and the console working again.

Signed-off-by: Paul Mundt <lethal@linux-sh.org>
11c1965687b0a472add948d4240dfe65a2fcb298 25-Dec-2006 Paul Mundt <lethal@linux-sh.org> sh: Fixup cpu_data references for the non-boot CPUs.

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 <lethal@linux-sh.org>
53c82622c2db808c015953336faecefc0ebf29bc 12-Feb-2007 Alon Bar-Lev <alon.barlev@gmail.com> [PATCH] Dynamic kernel command-line: sh

1. Rename saved_command_line into boot_command_line.
2. Set command_line as __initdata.

Signed-off-by: Alon Bar-Lev <alon.barlev@gmail.com>
Acked-by: Paul Mundt <lethal@linux-sh.org>
Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
b641fe016a29fe2c0c7b0d717a5918e3f067a44f 12-Dec-2006 Paul Mundt <lethal@linux-sh.org> sh: Use early_param() for earlyprintk parsing.

Signed-off-by: Paul Mundt <lethal@linux-sh.org>
41504c39726a7099e5a42508dd57fe561c8b4129 11-Dec-2006 Paul Mundt <lethal@linux-sh.org> sh: SH-MobileR SH7722 CPU support.

This adds CPU support for the SH7722.

Signed-off-by: Paul Mundt <lethal@linux-sh.org>
19e5d9c0d2194b4b47189cbec2921cbf72b0bd1c 07-Dec-2006 Henry Nestler <henry.ne@arcor.de> [PATCH] initrd: remove unused false condition for initrd_start

After LOADER_TYPE && INITRD_START are true, the short if-condition
for INITRD_START can never be false.

Remove unused code from the else condition.

Signed-off-by: Henry Nestler <henry.ne@arcor.de>
Signed-off-by: Andrew Morton <akpm@osdl.org>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
b552c7e8bceae8a04ae79ecee6fa369c1ba4f8e4 20-Nov-2006 Paul Mundt <lethal@linux-sh.org> sh: Hook SH7785 in to the build system.

Simple 7785 placeholders to start hooking up other bits of code.

Signed-off-by: Paul Mundt <lethal@linux-sh.org>
9d4436a6fbc8c5eccdfcb8f5884e0a7b4a57f6d2 05-Nov-2006 Yoshinori Sato <ysato@users.sourceforge.jp> sh: Add support for SH7206 and SH7619 CPU subtypes.

This implements initial support for the SH7206 (SH-2A) and SH7619
(SH-2) MMU-less CPUs.

Signed-off-by: Yoshinori Sato <ysato@users.sourceforge.jp>
Signed-off-by: Paul Mundt <lethal@linux-sh.org>
711fa8096863e4b50bb97f9ebc44606dc2182ac3 03-Oct-2006 Paul Mundt <lethal@linux-sh.org> sh: build fixes for defconfigs.

Get all of the defconfigs building again.

Signed-off-by: Paul Mundt <lethal@linux-sh.org>
96b644bdec977b97a45133e5b4466ba47a7a5e65 02-Oct-2006 Serge E. Hallyn <serue@us.ibm.com> [PATCH] namespaces: utsname: use init_utsname when appropriate

In some places, particularly drivers and __init code, the init utsns is the
appropriate one to use. This patch replaces those with a the init_utsname
helper.

Changes: Removed several uses of init_utsname(). Hope I picked all the
right ones in net/ipv4/ipconfig.c. These are now changed to
utsname() (the per-process namespace utsname) in the previous
patch (2/7)

[akpm@osdl.org: CIFS fix]
Signed-off-by: Serge E. Hallyn <serue@us.ibm.com>
Cc: Kirill Korotaev <dev@openvz.org>
Cc: "Eric W. Biederman" <ebiederm@xmission.com>
Cc: Herbert Poetzl <herbert@13thfloor.at>
Cc: Andrey Savochkin <saw@sw.ru>
Cc: Serge Hallyn <serue@us.ibm.com>
Signed-off-by: Andrew Morton <akpm@osdl.org>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
72c35543f8cf1316773ffbd9619575bb84ac44fb 27-Sep-2006 Paul Mundt <lethal@linux-sh.org> sh: Support for L2 cache on newer SH-4A CPUs.

This implements preliminary support for the L2 caches found
on newer SH-4A CPUs.

Signed-off-by: Paul Mundt <lethal@linux-sh.org>
2220d164933a8776d1336c814e3c2e5573256d34 27-Sep-2006 Paul Mundt <lethal@linux-sh.org> sh: Report movli.l/movco.l capabilities.

Add llsc to cpu_flags[] and comment cpu-features.h.

Signed-off-by: Jamie Lenehan <nynaeve@twibble.org>
Signed-off-by: Paul Mundt <lethal@linux-sh.org>
2c7834a6f15fe6c50ed4766f1bb6f9183b9e2740 27-Sep-2006 Paul Mundt <lethal@linux-sh.org> sh: machvec rework.

Some more machvec overhauling and setup code cleanup. Kill off
get_system_type() and platform_setup(), we can do these both
through the machvec. While we're add it, kill off more useless
mach.c's and drop some legacy cruft from setup.c.

Signed-off-by: Paul Mundt <lethal@linux-sh.org>
e5723e0eeb2dc16629e86d66785024ead9169000 27-Sep-2006 Paul Mundt <lethal@linux-sh.org> sh: Add support for SH7706/SH7710/SH7343 CPUs.

This adds support for the aforementioned CPU subtypes, and cleans
up some build issues encountered as a result.

Signed-off-by: Paul Mundt <lethal@linux-sh.org>
0f08f338083cc1d68788ccbccc44bd0502fc57ae 27-Sep-2006 Paul Mundt <lethal@linux-sh.org> sh: More cosmetic cleanups and trivial fixes.

Nothing exciting here, just trivial fixes..

Signed-off-by: Paul Mundt <lethal@linux-sh.org>
a80fd21e52cc09ff1e4d36de5781173a5b87b2dc 27-Sep-2006 Paul Mundt <lethal@linux-sh.org> sh: earlyprintk= support and cleanups.

Allow multiple early printk consoles via earlyprintk=.

With this change earlyprintk is no longer enabled by default,
it must be specified on the kernel command line. Optionally
with ,keep to prevent unreg by tty_io.

Signed-off-by: Paul Mundt <lethal@linux-sh.org>
894673ee6122a3ce1958e1fe096901ba5356a96b 10-Jul-2006 Jon Smirl <jonsmir@gmail.com> [PATCH] tty: Remove include of screen_info.h from tty.h

screen_info.h doesn't have anything to do with the tty layer and shouldn't be
included by tty.h. This patches removes the include and modifies all users to
directly include screen_info.h. struct screen_info is mainly used to
communicate with the console drivers in drivers/video/console. Note that this
patch touches every arch and I have no way of testing it. If there is a
mistake the worst thing that will happen is a compile error.

[akpm@osdl.org: fix arm build]
[akpm@osdl.org: fix alpha build]
Signed-off-by: Jon Smirl <jonsmir@gmail.com>
Signed-off-by: Antonino Daplas <adaplas@pol.net>
Signed-off-by: Andrew Morton <akpm@osdl.org>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
76b67ed9dce69a6a329cdd66f94af1787f417b62 27-Jun-2006 KAMEZAWA Hiroyuki <kamezawa.hiroyu@jp.fujitsu.com> [PATCH] node hotplug: register cpu: remove node struct

With Goto-san's patch, we can add new pgdat/node at runtime. I'm now
considering node-hot-add with cpu + memory on ACPI.

I found acpi container, which describes node, could evaluate cpu before
memory. This means cpu-hot-add occurs before memory hot add.

In most part, cpu-hot-add doesn't depend on node hot add. But register_cpu(),
which creates symbolic link from node to cpu, requires that node should be
onlined before register_cpu(). When a node is onlined, its pgdat should be
there.

This patch-set holds off creating symbolic link from node to cpu
until node is onlined.

This removes node arguments from register_cpu().

Now, register_cpu() requires 'struct node' as its argument. But the array of
struct node is now unified in driver/base/node.c now (By Goto's node hotplug
patch). We can get struct node in generic way. So, this argument is not
necessary now.

This patch also guarantees add cpu under node only when node is onlined. It
is necessary for node-hot-add vs. cpu-hot-add patch following this.

Moreover, register_cpu calculates cpu->node_id by cpu_to_node() without regard
to its 'struct node *root' argument. This patch removes it.

Also modify callers of register_cpu()/unregister_cpu, whose args are changed
by register-cpu-remove-node-struct patch.

[Brice.Goglin@ens-lyon.org: fix it]
Signed-off-by: KAMEZAWA Hiroyuki <kamezawa.hiroyu@jp.fujitsu.com>
Cc: Yasunori Goto <y-goto@jp.fujitsu.com>
Cc: Ashok Raj <ashok.raj@intel.com>
Cc: Dave Hansen <haveblue@us.ibm.com>
Signed-off-by: Brice Goglin <Brice.Goglin@ens-lyon.org>
Signed-off-by: Andrew Morton <akpm@osdl.org>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
bc83db4f006fcf9e9502a002b4bd448fc4511d04 31-Mar-2006 KAMEZAWA Hiroyuki <kamezawa.hiroyu@jp.fujitsu.com> [PATCH] for_each_possible_cpu: sh

for_each_cpu() actually iterates across all possible CPUs. We've had mistakes
in the past where people were using for_each_cpu() where they should have been
iterating across only online or present CPUs. This is inefficient and
possibly buggy.

We're renaming for_each_cpu() to for_each_possible_cpu() to avoid this in the
future.

This patch replaces for_each_cpu with for_each_possible_cpu.

Signed-off-by: KAMEZAWA Hiroyuki <kamezawa.hiroyu@jp.fujitsu.com>
Cc: Paul Mundt <lethal@linux-sh.org>
Cc: Kazumoto Kojima <kkojima@rr.iij4u.or.jp>
Signed-off-by: Andrew Morton <akpm@osdl.org>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
22a9835c350782a5c3257343713932af3ac92ee0 27-Mar-2006 Dave Hansen <haveblue@us.ibm.com> [PATCH] unify PFN_* macros

Just about every architecture defines some macros to do operations on pfns.
They're all virtually identical. This patch consolidates all of them.

One minor glitch is that at least i386 uses them in a very skeletal header
file. To keep away from #include dependency hell, I stuck the new
definitions in a new, isolated header.

Of all of the implementations, sh64 is the only one that varied by a bit.
It used some masks to ensure that any sign-extension got ripped away before
the arithmetic is done. This has been posted to that sh64 maintainers and
the development list.

Compiles on x86, x86_64, ia64 and ppc64.

Signed-off-by: Dave Hansen <haveblue@us.ibm.com>
Signed-off-by: Andrew Morton <akpm@osdl.org>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
394e3902c55e667945f6f1c2bdbc59842cce70f7 23-Mar-2006 Andrew Morton <akpm@osdl.org> [PATCH] more for_each_cpu() conversions

When we stop allocating percpu memory for not-possible CPUs we must not touch
the percpu data for not-possible CPUs at all. The correct way of doing this
is to test cpu_possible() or to use for_each_cpu().

This patch is a kernel-wide sweep of all instances of NR_CPUS. I found very
few instances of this bug, if any. But the patch converts lots of open-coded
test to use the preferred helper macros.

Cc: Mikael Starvik <starvik@axis.com>
Cc: David Howells <dhowells@redhat.com>
Acked-by: Kyle McMartin <kyle@parisc-linux.org>
Cc: Anton Blanchard <anton@samba.org>
Cc: Benjamin Herrenschmidt <benh@kernel.crashing.org>
Cc: Paul Mackerras <paulus@samba.org>
Cc: Martin Schwidefsky <schwidefsky@de.ibm.com>
Cc: Heiko Carstens <heiko.carstens@de.ibm.com>
Cc: Paul Mundt <lethal@linux-sh.org>
Cc: "David S. Miller" <davem@davemloft.net>
Cc: William Lee Irwin III <wli@holomorphy.com>
Cc: Andi Kleen <ak@muc.de>
Cc: Christian Zankel <chris@zankel.net>
Cc: Philippe Elie <phil.el@wanadoo.fr>
Cc: Nathan Scott <nathans@sgi.com>
Cc: Jens Axboe <axboe@suse.de>
Cc: Eric Dumazet <dada1@cosmosbay.com>
Signed-off-by: Andrew Morton <akpm@osdl.org>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
50373c1b7ee9cdd9b8ccaa1b58d13ad43f879908 01-Feb-2006 Paul Mundt <lethal@linux-sh.org> [PATCH] sh: unknown mach-type updates

Trivial cleanup of the unknown machine type for some of the recent machvec
changes.

Signed-off-by: Paul Mundt <lethal@linux-sh.org>
Signed-off-by: Andrew Morton <akpm@osdl.org>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
de02797aa744c96a90f47be7bc081ce2f74b17fd 01-Feb-2006 Paul Mundt <lethal@linux-sh.org> [PATCH] sh: Cleanup struct sh_cpuinfo for clock framework changes

Now that the clock framework changes have been integrated, the manual clock
accounting that was done in sh_cpuinfo can be dropped.

Also correct a bug with running past the end of the CPU flags when there's a
mismatch between the added flags and printed ones.

Signed-off-by: Paul Mundt <lethal@linux-sh.org>
Signed-off-by: Andrew Morton <akpm@osdl.org>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
65463b73b14ed43368dc5961a6c3dcb0d98cfe1f 07-Nov-2005 Paul Mundt <lethal@linux-sh.org> [PATCH] sh: Drop hp690 discontig support

There was only one board using this (hp690 specifically), and it just so
happens that it's only physically discontiguous at the "normal" P1 offset. If
we bump up the P1 offset, it's possible to hit a shadowed region of memory
where we suddenly become magically contiguous.

As people have been using this shadowed region workaround for quite some time
(and without any adverse effects), it's time to drop the left over discontig
bits that no longer have any practical use (it was always very much
hp690-centric to begin with).

Signed-off-by: Paul Mundt <lethal@linux-sh.org>
Signed-off-by: Andrew Morton <akpm@osdl.org>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
1da177e4c3f41524e886b7f1b8a0c1fc7321cac2 17-Apr-2005 Linus Torvalds <torvalds@ppc970.osdl.org> Linux-2.6.12-rc2

Initial git repository build. I'm not bothering with the full history,
even though we have it. We can create a separate "historical" git
archive of that later if we want to, and in the meantime it's about
3.2GB when imported into git - space that would just make the early
git days unnecessarily complicated, when we don't have a lot of good
infrastructure for it.

Let it rip!