You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
219 lines
6.1 KiB
219 lines
6.1 KiB
1 year ago
|
From 24bc8fc932ae1c88cc2e97f0f90786a7be411bb2 Mon Sep 17 00:00:00 2001
|
||
|
From: Thomas Huth <thuth@redhat.com>
|
||
|
Date: Tue, 27 Jun 2023 09:47:00 +0200
|
||
|
Subject: [PATCH 32/37] pc-bios/s390-ccw: Fix indentation in start.S
|
||
|
MIME-Version: 1.0
|
||
|
Content-Type: text/plain; charset=UTF-8
|
||
|
Content-Transfer-Encoding: 8bit
|
||
|
|
||
|
RH-Author: Thomas Huth <thuth@redhat.com>
|
||
|
RH-MergeRequest: 180: Fix misaligned symbol error in the s390-ccw image during qemu-kvm build with binutils 2.40
|
||
|
RH-Bugzilla: 2220866
|
||
|
RH-Acked-by: Cédric Le Goater <clg@redhat.com>
|
||
|
RH-Acked-by: Miroslav Rezanina <mrezanin@redhat.com>
|
||
|
RH-Commit: [2/4] cf8fa053602ce1cfac0b6efa67f491688d4f9348 (thuth/qemu-kvm-cs9)
|
||
|
|
||
|
start.S is currently indented with a mixture of spaces and tabs, which
|
||
|
is quite ugly. QEMU coding style says indentation should be 4 spaces,
|
||
|
and this is also what we are using in the assembler files in the
|
||
|
tests/tcg/s390x/ folder already, so let's adjust start.S accordingly.
|
||
|
|
||
|
Reviewed-by: Cédric Le Goater <clg@redhat.com>
|
||
|
Message-Id: <20230627074703.99608-2-thuth@redhat.com>
|
||
|
Reviewed-by: Claudio Imbrenda <imbrenda@linux.ibm.com>
|
||
|
Reviewed-by: Eric Farman <farman@linux.ibm.com>
|
||
|
Reviewed-by: Philippe Mathieu-Daudé <philmd@linaro.org>
|
||
|
Signed-off-by: Thomas Huth <thuth@redhat.com>
|
||
|
(cherry picked from commit f52420fa4fd9f519dc42c20d2616aba4149adc25)
|
||
|
---
|
||
|
pc-bios/s390-ccw/start.S | 136 +++++++++++++++++++--------------------
|
||
|
1 file changed, 68 insertions(+), 68 deletions(-)
|
||
|
|
||
|
diff --git a/pc-bios/s390-ccw/start.S b/pc-bios/s390-ccw/start.S
|
||
|
index 6072906df4..d29de09cc6 100644
|
||
|
--- a/pc-bios/s390-ccw/start.S
|
||
|
+++ b/pc-bios/s390-ccw/start.S
|
||
|
@@ -10,37 +10,37 @@
|
||
|
* directory.
|
||
|
*/
|
||
|
|
||
|
- .globl _start
|
||
|
+ .globl _start
|
||
|
_start:
|
||
|
|
||
|
- larl %r15, stack + 0x8000 /* Set up stack */
|
||
|
+ larl %r15,stack + 0x8000 /* Set up stack */
|
||
|
|
||
|
- /* clear bss */
|
||
|
- larl %r2, __bss_start
|
||
|
- larl %r3, _end
|
||
|
- slgr %r3, %r2 /* get sizeof bss */
|
||
|
- ltgr %r3,%r3 /* bss empty? */
|
||
|
- jz done
|
||
|
- aghi %r3,-1
|
||
|
- srlg %r4,%r3,8 /* how many 256 byte chunks? */
|
||
|
- ltgr %r4,%r4
|
||
|
- lgr %r1,%r2
|
||
|
- jz remainder
|
||
|
+ /* clear bss */
|
||
|
+ larl %r2,__bss_start
|
||
|
+ larl %r3,_end
|
||
|
+ slgr %r3,%r2 /* get sizeof bss */
|
||
|
+ ltgr %r3,%r3 /* bss empty? */
|
||
|
+ jz done
|
||
|
+ aghi %r3,-1
|
||
|
+ srlg %r4,%r3,8 /* how many 256 byte chunks? */
|
||
|
+ ltgr %r4,%r4
|
||
|
+ lgr %r1,%r2
|
||
|
+ jz remainder
|
||
|
loop:
|
||
|
- xc 0(256,%r1),0(%r1)
|
||
|
- la %r1,256(%r1)
|
||
|
- brctg %r4,loop
|
||
|
+ xc 0(256,%r1),0(%r1)
|
||
|
+ la %r1,256(%r1)
|
||
|
+ brctg %r4,loop
|
||
|
remainder:
|
||
|
- larl %r2,memsetxc
|
||
|
- ex %r3,0(%r2)
|
||
|
+ larl %r2,memsetxc
|
||
|
+ ex %r3,0(%r2)
|
||
|
done:
|
||
|
- /* set up a pgm exception disabled wait psw */
|
||
|
- larl %r2, disabled_wait_psw
|
||
|
- mvc 0x01d0(16), 0(%r2)
|
||
|
- j main /* And call C */
|
||
|
+ /* set up a pgm exception disabled wait psw */
|
||
|
+ larl %r2,disabled_wait_psw
|
||
|
+ mvc 0x01d0(16),0(%r2)
|
||
|
+ j main /* And call C */
|
||
|
|
||
|
memsetxc:
|
||
|
- xc 0(1,%r1),0(%r1)
|
||
|
+ xc 0(1,%r1),0(%r1)
|
||
|
|
||
|
|
||
|
/*
|
||
|
@@ -48,11 +48,11 @@ memsetxc:
|
||
|
*
|
||
|
* stops the current guest cpu.
|
||
|
*/
|
||
|
- .globl disabled_wait
|
||
|
+ .globl disabled_wait
|
||
|
disabled_wait:
|
||
|
- larl %r1,disabled_wait_psw
|
||
|
- lpswe 0(%r1)
|
||
|
-1: j 1b
|
||
|
+ larl %r1,disabled_wait_psw
|
||
|
+ lpswe 0(%r1)
|
||
|
+1: j 1b
|
||
|
|
||
|
|
||
|
/*
|
||
|
@@ -60,61 +60,61 @@ disabled_wait:
|
||
|
*
|
||
|
* eats one sclp interrupt
|
||
|
*/
|
||
|
- .globl consume_sclp_int
|
||
|
+ .globl consume_sclp_int
|
||
|
consume_sclp_int:
|
||
|
- /* enable service interrupts in cr0 */
|
||
|
- stctg %c0,%c0,0(%r15)
|
||
|
- oi 6(%r15),0x2
|
||
|
- lctlg %c0,%c0,0(%r15)
|
||
|
- /* prepare external call handler */
|
||
|
- larl %r1, external_new_code
|
||
|
- stg %r1, 0x1b8
|
||
|
- larl %r1, external_new_mask
|
||
|
- mvc 0x1b0(8),0(%r1)
|
||
|
- /* load enabled wait PSW */
|
||
|
- larl %r1, enabled_wait_psw
|
||
|
- lpswe 0(%r1)
|
||
|
+ /* enable service interrupts in cr0 */
|
||
|
+ stctg %c0,%c0,0(%r15)
|
||
|
+ oi 6(%r15),0x2
|
||
|
+ lctlg %c0,%c0,0(%r15)
|
||
|
+ /* prepare external call handler */
|
||
|
+ larl %r1,external_new_code
|
||
|
+ stg %r1,0x1b8
|
||
|
+ larl %r1,external_new_mask
|
||
|
+ mvc 0x1b0(8),0(%r1)
|
||
|
+ /* load enabled wait PSW */
|
||
|
+ larl %r1,enabled_wait_psw
|
||
|
+ lpswe 0(%r1)
|
||
|
|
||
|
/*
|
||
|
* void consume_io_int(void)
|
||
|
*
|
||
|
* eats one I/O interrupt
|
||
|
*/
|
||
|
- .globl consume_io_int
|
||
|
+ .globl consume_io_int
|
||
|
consume_io_int:
|
||
|
- /* enable I/O interrupts in cr6 */
|
||
|
- stctg %c6,%c6,0(%r15)
|
||
|
- oi 4(%r15), 0xff
|
||
|
- lctlg %c6,%c6,0(%r15)
|
||
|
- /* 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)
|
||
|
+ /* enable I/O interrupts in cr6 */
|
||
|
+ stctg %c6,%c6,0(%r15)
|
||
|
+ oi 4(%r15), 0xff
|
||
|
+ lctlg %c6,%c6,0(%r15)
|
||
|
+ /* 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)
|
||
|
- ni 6(%r15),0xfd
|
||
|
- lctlg %c0,%c0,0(%r15)
|
||
|
- br %r14
|
||
|
+ /* disable service interrupts in cr0 */
|
||
|
+ stctg %c0,%c0,0(%r15)
|
||
|
+ ni 6(%r15),0xfd
|
||
|
+ lctlg %c0,%c0,0(%r15)
|
||
|
+ br %r14
|
||
|
|
||
|
io_new_code:
|
||
|
- /* disable I/O interrupts in cr6 */
|
||
|
- stctg %c6,%c6,0(%r15)
|
||
|
- ni 4(%r15), 0x00
|
||
|
- lctlg %c6,%c6,0(%r15)
|
||
|
- br %r14
|
||
|
+ /* disable I/O interrupts in cr6 */
|
||
|
+ stctg %c6,%c6,0(%r15)
|
||
|
+ ni 4(%r15),0x00
|
||
|
+ lctlg %c6,%c6,0(%r15)
|
||
|
+ br %r14
|
||
|
|
||
|
- .align 8
|
||
|
+ .align 8
|
||
|
disabled_wait_psw:
|
||
|
- .quad 0x0002000180000000,0x0000000000000000
|
||
|
+ .quad 0x0002000180000000,0x0000000000000000
|
||
|
enabled_wait_psw:
|
||
|
- .quad 0x0302000180000000,0x0000000000000000
|
||
|
+ .quad 0x0302000180000000,0x0000000000000000
|
||
|
external_new_mask:
|
||
|
- .quad 0x0000000180000000
|
||
|
+ .quad 0x0000000180000000
|
||
|
io_new_mask:
|
||
|
- .quad 0x0000000180000000
|
||
|
+ .quad 0x0000000180000000
|
||
|
--
|
||
|
2.39.3
|
||
|
|