14 Jul, 2008
4 commits
-
Most likely it is broken anyway because of the changes in memory
detection. Since we can't test it and there are probably better ways
that using a P390 card, remove support for it.Signed-off-by: Heiko Carstens
Signed-off-by: Martin Schwidefsky -
Move memory detection code to own file and also simplify it.
Also add an interface which can be called at any time to get the
current memory layout. This interface is needed by our kernel
internal system dumper.Cc: Peter Oberparleiter
Cc: Michael Holzheu
Cc: Frank Munzert
Signed-off-by: Heiko Carstens
Signed-off-by: Martin Schwidefsky -
Now it is possible to specify additional kernel parameters on the IPL
command line using the IPL PARM option.
If the Linux system is already running, the new reipl sysfs attribute
'parm' can be used to change kernel parameters for the next reboot.
Examples:
IPL C PARM dasd=1234 root=/dev/dasda1
IPL 1234 PARM savesys=mylnxnss
echo "init=/bin/bash" > /sys/firmware/reipl/ccw/parmSigned-off-by: Hendrik Brueckner
Signed-off-by: Martin Schwidefsky
Signed-off-by: Heiko Carstens -
In case the initrd is located within the bss section it will be
overwritten when the section is cleared. To prevent this just move
the initrd right behind the bss section if it starts within the
section.
The current code already moves the initrd if the bootmem allocator
bitmap would overwrite it. With this patch we should be safe against
initrd corruptions.Cc: Peter Oberparleiter
Signed-off-by: Heiko Carstens
Signed-off-by: Martin Schwidefsky
30 Apr, 2008
2 commits
-
This adds hugetlbfs support on System z, using both hardware large page
support if available and software large page emulation on older hardware.
Shared (large) page tables are implemented in software emulation mode,
by using page->index of the first tail page from a compound large page
to store page table information.Signed-off-by: Gerald Schaefer
Signed-off-by: Martin Schwidefsky -
From: Heiko Carstens
From: Carsten OtteThis lets us use defines for the magic bits in machine flags instead
of using plain numbers all over the place.
In addition on newer machines features/facilities are indicated by the
result of the stfl instruction. So we use these bits instead of trying
to execute new instructions and check wether we get an exception or
not.
Also the mvpg instruction is always available when in zArch mode,
whereas the idte instruction is only available in zArch mode. This
results in some minor optimizations.Signed-off-by: Heiko Carstens
Signed-off-by: Carsten Otte
Signed-off-by: Martin Schwidefsky
27 Apr, 2008
1 commit
-
This patch adds functionality to detect if the kernel runs under the KVM
hypervisor. A macro MACHINE_IS_KVM is exported for device drivers. This
allows drivers to skip device detection if the systems runs non-virtualized.
We also define a preferred console to avoid having the ttyS0, which is a line
mode only console.Signed-off-by: Christian Borntraeger
Acked-by: Martin Schwidefsky
Signed-off-by: Carsten Otte
Signed-off-by: Avi Kivity
17 Apr, 2008
1 commit
-
Most noteable part of this commit is the new local header file entry.h
which contains all the function declarations of functions that get only
called from asm code or are arch internal. That way we can avoid extern
declarations in C files.
This is more or less the same that was done for sparc64.Signed-off-by: Martin Schwidefsky
Signed-off-by: Heiko Carstens
05 Mar, 2008
1 commit
-
/sys/firmware/reipl/nss/name contains the nss name when defsys or
savesys command has been executed. If the defsys or savesys command
fails the kernel_nss_name has to be cleared since a reipl on that
nss name won't be possible.Signed-off-by: Hongjie Yang
Signed-off-by: Martin Schwidefsky
26 Jan, 2008
2 commits
-
It caused only a lot of confusion. From now on cpu hotplug of up to
NR_CPUS will work by default. If somebody wants to limit that then
the possible_cpus parameter can be used.Signed-off-by: Heiko Carstens
Signed-off-by: Martin Schwidefsky -
Add a new interface so that cpus can be put into standby state and
configured state.
Only offline cpus can be put into standby state or configured state.
For that the new percpu sysfs attribute "configure" must be used.
To put a cpu in standby state a "0" must be written to the attribute.
In order to switch it into configured state a "1" must be written to
the attribute.
Only cpus in configured state can be brought online.
In addition this patch introduces a static mapping of physical to
logical cpus. As a result only the sysfs directories of present cpus
will be created. To scan for new cpus the new sysfs attribute "rescan"
must be used.
Writing to /sys/devices/system/cpu/rescan will trigger a rescan of
cpus and will create directories for new cpus.On IPL only configured cpus will be used. And on reboot/shutdown all
cpus will remain in their current state (configured/standby).Signed-off-by: Heiko Carstens
Signed-off-by: Martin Schwidefsky
20 Nov, 2007
1 commit
-
Before we're getting short on memory detection fixes here is the next
one: if neither sclp nor diag260 report the storage size the detection
loop will return immediately without detecting anything. Fix this by
breaking the detection loop only if the memory end is known.Signed-off-by: Heiko Carstens
Signed-off-by: Martin Schwidefsky
05 Nov, 2007
1 commit
-
Yet another patch in the countless series of memory detection fixes:
if the last area of the reported storage size is a hole the detection
loop will loop forever.
Just break chunk detection loop if its end is going to be larger than
reported storage size.Signed-off-by: Heiko Carstens
Signed-off-by: Martin Schwidefsky
10 Jul, 2007
2 commits
-
Check if a command is available before executing. Saves some
superfluous service calls that won't succeed anyway.Signed-off-by: Heiko Carstens
Signed-off-by: Martin Schwidefsky -
Introduce some new interfaces so that random subsystems don't have to
mess around with sclp internal structures.Signed-off-by: Heiko Carstens
Signed-off-by: Martin Schwidefsky
27 Apr, 2007
1 commit
-
If both sclp and diag memory detection don't work stop at the first
memory hole. Otherwise the code might loop forever...Signed-off-by: Martin Schwidefsky
Signed-off-by: Heiko Carstens
19 Mar, 2007
1 commit
-
diag 260 returns the address of the last addressable byte and not the
size of memory. Since we want the size we have to add 1 to the return
value.
Disable diag 260 for non z/Arch mode since it doesn't work there
anyway.Signed-off-by: Heiko Carstens
Signed-off-by: Martin Schwidefsky
21 Feb, 2007
3 commits
-
Clear only memory from __bss_start to __bss_stop when clearing the bss
section. Not until _end, which currently happens to be the same.Signed-off-by: Heiko Carstens
Signed-off-by: Martin Schwidefsky -
Setup.h has been misused for ipl related stuff in the past. We now move
everything, which has to do with ipl and reipl to a new header file named
"ipl.h".Signed-off-by: Michael Holzheu
Signed-off-by: Martin Schwidefsky -
Replace two stidp inline assemblies with one global implementation.
Signed-off-by: Michael Holzheu
Signed-off-by: Martin Schwidefsky
06 Feb, 2007
2 commits
-
Set read-only flag in the page table entries for the kernel image text
section. This will catch all instruction caused corruptions withing the
text section.
Instruction replacement via kprobes still works, since it bypasses now
dynamic address translation.Signed-off-by: Heiko Carstens
Signed-off-by: Martin Schwidefsky -
Hopefully this will make it more maintainable and less error prone.
Code makes use of search_exception_tables(). Since it calls this
function before the kernel exeception table is sorted, there is an
early call to sort_main_extable().This way it's easy to use the already present infrastructure of fixup
sections. Also this would allows to easily convert the rest of
head[31|64].S into C code.Signed-off-by: Heiko Carstens
Signed-off-by: Martin Schwidefsky