04 Dec, 2006

1 commit

  • In case of re-IPL and diag308 doesn't work we have to reset all devices
    manually and wait synchronously that each reset finished.
    This patch adds the necessary infrastucture and the first exploiter of it.

    Subsystems that need to add a function that needs to be called at re-IPL
    may register/unregister this function via

    struct reset_call {
    struct reset_call *next;
    void (*fn)(void);
    };

    void register_reset_call(struct reset_call *reset);
    void unregister_reset_call(struct reset_call *reset);

    When the registered function get called the context is:

    - all cpus beside the current one are stopped
    - all machine checks and interrupts are disabled
    - prefixing is disabled
    - a default machine check handler is available for use

    The registered functions may not take any locks are sleep.

    For the common I/O layer part of this patch:

    Introduce a reset_call css_reset that does the following:
    - clear all subchannels
    - perform a rchp on all channel paths and wait for the resulting
    machine checks
    This replaces the calls to clear_all_subchannels() and
    cio_reset_channel_paths() for kexec and ccw reipl. reipl_ccw_dev() now
    uses reipl_find_schid() to determine the subchannel id for a given
    device id.
    Also remove cio_reset_channel_paths() and friends since they are not
    needed anymore.

    Signed-off-by: Heiko Carstens
    Signed-off-by: Cornelia Huck
    Signed-off-by: Martin Schwidefsky

    Heiko Carstens
     

28 Sep, 2006

1 commit


02 Aug, 2005

1 commit


26 Jun, 2005

1 commit

  • Add kexec support for s390 architecture.

    From: Milton Miller

    - Fix passing of first argument to relocate_kernel assembly.
    - Fix Kconfig description.
    - Remove wrong comment and comments that describe obvious things.
    - Allow only KEXEC_TYPE_DEFAULT as image type -> dump not supported.

    Acked-by: Martin Schwidefsky
    Signed-off-by: Heiko Carstens
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Heiko Carstens