[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[PATCH 4/8] powerpc-ieee1275: Fix warnings and alignment
From: |
Vladimir Serbinenko |
Subject: |
[PATCH 4/8] powerpc-ieee1275: Fix warnings and alignment |
Date: |
Wed, 11 Sep 2024 12:41:21 +0300 |
Signed-off-by: Vladimir Serbinenko <phcoder@gmail.com>
---
grub-core/kern/ieee1275/init.c | 19 ++++++++++---------
1 file changed, 10 insertions(+), 9 deletions(-)
diff --git a/grub-core/kern/ieee1275/init.c b/grub-core/kern/ieee1275/init.c
index dfbd0b899..e3abd51a8 100644
--- a/grub-core/kern/ieee1275/init.c
+++ b/grub-core/kern/ieee1275/init.c
@@ -789,7 +789,10 @@ grub_ieee1275_ibm_cas (void)
{
int rc;
grub_ieee1275_ihandle_t root;
- grub_uint8_t ibm_arch_platform_support[8];
+ union {
+ grub_uint8_t u8[8];
+ grub_uint32_t u32[2];
+ } ibm_arch_platform_support;
grub_ssize_t actual;
grub_uint8_t xive_support = 0;
grub_uint8_t mmu_support = 0;
@@ -807,23 +810,23 @@ grub_ieee1275_ibm_cas (void)
grub_ieee1275_get_integer_property (grub_ieee1275_chosen,
"ibm,arch-vec-5-platform-support",
- (grub_uint32_t *)
ibm_arch_platform_support,
+ ibm_arch_platform_support.u32,
sizeof (ibm_arch_platform_support),
&actual);
- for (i = 0; i < prop_len; i++)
+ for (i = 0; i < prop_len; i += 2)
{
- switch (ibm_arch_platform_support[i])
+ switch (ibm_arch_platform_support.u8[i])
{
case XIVE_INDEX:
- if (ibm_arch_platform_support[i + 1] & MAX_SUPPORTED)
+ if (ibm_arch_platform_support.u8[i + 1] & MAX_SUPPORTED)
xive_support = XIVE_ENABLED;
else
xive_support = 0;
break;
case MMU_INDEX:
- if (ibm_arch_platform_support[i + 1] & MAX_SUPPORTED)
+ if (ibm_arch_platform_support.u8[i + 1] & MAX_SUPPORTED)
mmu_support = RADIX_ENABLED;
else
mmu_support = HASH_ENABLED;
@@ -831,7 +834,7 @@ grub_ieee1275_ibm_cas (void)
case RADIX_GTSE_INDEX:
if (mmu_support == RADIX_ENABLED)
- radix_gtse_support = ibm_arch_platform_support[i + 1] &
RADIX_GTSE_ENABLED;
+ radix_gtse_support = ibm_arch_platform_support.u8[i + 1] &
RADIX_GTSE_ENABLED;
else
radix_gtse_support = 0;
break;
@@ -840,8 +843,6 @@ grub_ieee1275_ibm_cas (void)
/* Ignoring the other indexes of ibm,arch-vec-5-platform-support.
*/
break;
}
- /* Skipping the property value. */
- i++;
}
struct cas_vector vector =
--
2.39.2
- [PATCH 1/8] riscv64: Support riscv_align relocations, Vladimir Serbinenko, 2024/09/11
- [PATCH 2/8] compiler-rt: Add __multi3, Vladimir Serbinenko, 2024/09/11
- [PATCH 5/8] efi/linux: Silence warning, Vladimir Serbinenko, 2024/09/11
- [PATCH 3/8] Support clang integrated-as sparc64, Vladimir Serbinenko, 2024/09/11
- [PATCH 4/8] powerpc-ieee1275: Fix warnings and alignment,
Vladimir Serbinenko <=
- [PATCH 6/8] btrfs: Add an explicit GRUB_PACKED, Vladimir Serbinenko, 2024/09/11
- [PATCH 8/8] configure: Try -msoft-float -mfloat-abi=soft on arm, Vladimir Serbinenko, 2024/09/11
- [PATCH 7/8] Enable __clzsi2/__clzdi2 on arm, Vladimir Serbinenko, 2024/09/11