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

    Heiko Carstens
     
  • 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

    Heiko Carstens
     
  • 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/parm

    Signed-off-by: Hendrik Brueckner
    Signed-off-by: Martin Schwidefsky
    Signed-off-by: Heiko Carstens

    Hendrik Brueckner
     
  • 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

    Heiko Carstens
     

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

    Gerald Schaefer
     
  • From: Heiko Carstens
    From: Carsten Otte

    This 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

    Heiko Carstens
     

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

    Carsten Otte
     

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

    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

    Hongjie Yang
     

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

    Heiko Carstens
     
  • 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

    Heiko Carstens
     

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

    Heiko Carstens
     

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

    Heiko Carstens
     

10 Jul, 2007

2 commits


27 Apr, 2007

1 commit


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

    Heiko Carstens
     

21 Feb, 2007

3 commits


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

    Heiko Carstens
     
  • 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

    Heiko Carstens