mirror of
https://src.fedoraproject.org/rpms/grub2.git
synced 2024-11-24 22:35:28 +00:00
81987f4958
- Try to fix things for new compiler madness. I really don't know why gcc decided __attribute__((packed)) on a "typedef struct" should imply __attribute__((align (1))) and that it should have a warning that it does so. The obvious behavior would be to keep the alignment of the first element unless it's used in another object or type that /also/ hask the packed attribute. Why should it change the default alignment at all? - Merge in the BLS patches Javier and I wrote. - Attempt to fix pmtimer initialization failures to not be super duper slow. Signed-off-by: Peter Jones <pjones@redhat.com>
53 lines
1.5 KiB
Diff
53 lines
1.5 KiB
Diff
From f8679cedff703b437171f4708d46adbfcff80a65 Mon Sep 17 00:00:00 2001
|
|
From: Eric Snowberg <eric.snowberg@oracle.com>
|
|
Date: Thu, 18 May 2017 17:10:22 -0600
|
|
Subject: [PATCH 042/206] sparc64: Don't use devspec to determine the OBP path
|
|
|
|
Don't use devspec to determine the OBP path on SPARC hardware. Within all
|
|
versions of Linux on SPARC, the devspec returns one of three values:
|
|
"none", "vnet-port", or "vdisk". Unlike on PPC, none of these values
|
|
are useful in determining the OBP path.
|
|
|
|
Before this patch grub-ofpathname always returned the wrong value
|
|
for a virtual disk. For example:
|
|
|
|
% grub-ofpathname /dev/vdiskc2
|
|
vdisk/disk@2:b
|
|
|
|
After this patch it now returns the correct value:
|
|
|
|
% grub-ofpathname /dev/vdiskc2
|
|
/virtual-devices@100/channel-devices@200/disk@2:b
|
|
|
|
Orabug: 24459765
|
|
|
|
Signed-off-by: Eric Snowberg <eric.snowberg@oracle.com>
|
|
Reviewed-by: Daniel Kiper <daniel.kiper@oracle.com>
|
|
---
|
|
grub-core/osdep/linux/ofpath.c | 3 +++
|
|
1 file changed, 3 insertions(+)
|
|
|
|
diff --git a/grub-core/osdep/linux/ofpath.c b/grub-core/osdep/linux/ofpath.c
|
|
index a79682a5e31..dce4e59d081 100644
|
|
--- a/grub-core/osdep/linux/ofpath.c
|
|
+++ b/grub-core/osdep/linux/ofpath.c
|
|
@@ -120,6 +120,8 @@ find_obppath (const char *sysfs_path_orig)
|
|
#endif
|
|
|
|
fd = open(path, O_RDONLY);
|
|
+
|
|
+#ifndef __sparc__
|
|
if (fd < 0 || fstat (fd, &st) < 0)
|
|
{
|
|
if (fd >= 0)
|
|
@@ -127,6 +129,7 @@ find_obppath (const char *sysfs_path_orig)
|
|
snprintf(path, path_size, "%s/devspec", sysfs_path);
|
|
fd = open(path, O_RDONLY);
|
|
}
|
|
+#endif
|
|
|
|
if (fd < 0 || fstat (fd, &st) < 0)
|
|
{
|
|
--
|
|
2.15.0
|
|
|