2018-07-12 14:56:34 +00:00
|
|
|
From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001
|
2017-06-16 19:31:32 +00:00
|
|
|
From: Eric Snowberg <eric.snowberg@oracle.com>
|
|
|
|
Date: Thu, 11 May 2017 18:42:23 -0700
|
2018-07-10 18:39:10 +00:00
|
|
|
Subject: [PATCH] sparc64: Close cdboot ihandle
|
2017-06-16 19:31:32 +00:00
|
|
|
|
|
|
|
The ihandle is left open with a cd-core image. This will cause a delay
|
|
|
|
booting grub from a virtual cdrom in a LDOM. It will also cause problems
|
|
|
|
as Linux boots, since it expects the ihandle to be closed during init.
|
|
|
|
|
|
|
|
Orabug: 25911275
|
|
|
|
|
|
|
|
Signed-off-by: Eric Snowberg <eric.snowberg@oracle.com>
|
|
|
|
Reviewed-by: Daniel Kiper <daniel.kiper@oracle.com>
|
|
|
|
---
|
|
|
|
grub-core/boot/sparc64/ieee1275/boot.S | 10 ++++++++++
|
|
|
|
1 file changed, 10 insertions(+)
|
|
|
|
|
|
|
|
diff --git a/grub-core/boot/sparc64/ieee1275/boot.S b/grub-core/boot/sparc64/ieee1275/boot.S
|
2018-02-27 18:56:41 +00:00
|
|
|
index 586efb4014e..9ea9b4e0662 100644
|
2017-06-16 19:31:32 +00:00
|
|
|
--- a/grub-core/boot/sparc64/ieee1275/boot.S
|
|
|
|
+++ b/grub-core/boot/sparc64/ieee1275/boot.S
|
|
|
|
@@ -69,6 +69,10 @@ prom_seek_name: .asciz "seek"
|
|
|
|
prom_read_name: .asciz "read"
|
|
|
|
prom_exit_name: .asciz "exit"
|
|
|
|
grub_name: .asciz "GRUB "
|
|
|
|
+#ifdef CDBOOT
|
|
|
|
+prom_close_name: .asciz "close"
|
|
|
|
+#endif
|
|
|
|
+
|
|
|
|
#define GRUB_NAME_LEN 5
|
|
|
|
|
|
|
|
.align 4
|
|
|
|
@@ -213,6 +217,12 @@ bootpath_known:
|
|
|
|
call prom_call_3_1_o1
|
|
|
|
#ifdef CDBOOT
|
|
|
|
LDUW_ABS(kernel_size, 0x00, %o3)
|
|
|
|
+
|
|
|
|
+ GET_ABS(prom_close_name, %o0)
|
|
|
|
+ mov 1, %g1
|
|
|
|
+ mov 0, %o5
|
|
|
|
+ call prom_call
|
|
|
|
+ mov BOOTDEV_REG, %o1
|
|
|
|
#else
|
|
|
|
mov 512, %o3
|
|
|
|
#endif
|