[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: [qemu-s390x] [PATCH v3 10/16] s390-bios: Support for running format-
From: |
Thomas Huth |
Subject: |
Re: [qemu-s390x] [PATCH v3 10/16] s390-bios: Support for running format-0/1 channel programs |
Date: |
Tue, 5 Mar 2019 08:32:59 +0100 |
User-agent: |
Mozilla/5.0 (X11; Linux x86_64; rv:60.0) Gecko/20100101 Thunderbird/60.5.0 |
On 01/03/2019 19.59, Jason J. Herne wrote:
> Add struct for format-0 ccws. Support executing format-0 channel
> programs and waiting for their completion before continuing execution.
> This will be used for real dasd ipl.
>
> Add cu_type() to channel io library. This will be used to query control
> unit type which is used to determine if we are booting a virtio device or a
> real dasd device.
>
> Signed-off-by: Jason J. Herne <address@hidden>
> ---
[...]
> diff --git a/pc-bios/s390-ccw/start.S b/pc-bios/s390-ccw/start.S
> index 5c22cb0..2b4ea4c 100644
> --- a/pc-bios/s390-ccw/start.S
> +++ b/pc-bios/s390-ccw/start.S
> @@ -71,6 +71,26 @@ consume_sclp_int:
> larl %r1, enabled_wait_psw
> lpswe 0(%r1)
>
> +/*
> + * void consume_io_int(void)
> + *
> + * eats one I/O interrupt
> + */
> + .globl consume_io_int
> +consume_io_int:
> + /* enable I/O interrupts in cr6 */
> + stctg 6,6,0(15)
> + oi 4(15), 0xff
> + lctlg 6,6,0(15)
Could you please use %-register names? If we ever want to compile the
code with Clang again, this will likely be required (see commit
0d3a76139827f7d08f1b for example). I.e.:
stctg %c6,%c6,0(%r15)
oi 4(%r15),0xff
lctlg %c6,%c6,0(%r15)
(indenting the parameters of the instruction would also be nice)
> + /* prepare i/o call handler */
> + larl %r1, io_new_code
> + stg %r1, 0x1f8
> + larl %r1, io_new_mask
> + mvc 0x1f0(8),0(%r1)
> + /* load enabled wait PSW */
> + larl %r1, enabled_wait_psw
> + lpswe 0(%r1)
> +
> external_new_code:
> /* disable service interrupts in cr0 */
> stctg %c0,%c0,0(%r15)
> @@ -78,6 +98,15 @@ external_new_code:
> lctlg %c0,%c0,0(%r15)
> br %r14
>
> +io_new_code:
> + /* disable I/O interrupts in cr6 */
> + stctg 6,6,0(15)
> + ni 4(15), 0x00
> + lctlg 6,6,0(15)
dito
Thanks,
Thomas
- Re: [qemu-s390x] [PATCH v3 15/16] s390-bios: Support booting from real dasd device, (continued)
[qemu-s390x] [PATCH v3 02/16] s390-bios: decouple cio setup from virtio, Jason J. Herne, 2019/03/01
[qemu-s390x] [PATCH v3 10/16] s390-bios: Support for running format-0/1 channel programs, Jason J. Herne, 2019/03/01
Re: [qemu-s390x] [PATCH v3 10/16] s390-bios: Support for running format-0/1 channel programs,
Thomas Huth <=
[qemu-s390x] [PATCH v3 06/16] s390-bios: Clean up cio.h, Jason J. Herne, 2019/03/01
[qemu-s390x] [PATCH v3 12/16] s390-bios: Refactor virtio to run channel programs via cio, Jason J. Herne, 2019/03/01
[qemu-s390x] [PATCH v3 03/16] s390-bios: decouple common boot logic from virtio, Jason J. Herne, 2019/03/01