mirror of
git://git.yoctoproject.org/meta-virtualization.git
synced 2025-07-19 12:50:22 +02:00
ipxe: fix build with gcc 10.1.0
Apply two upstream patches to fix compiler warnings. Signed-off-by: Christopher Clark <christopher.clark6@baesystems.com> Signed-off-by: Bruce Ashfield <bruce.ashfield@gmail.com>
This commit is contained in:
parent
f84f789e96
commit
27759eff63
|
@ -0,0 +1,43 @@
|
|||
From 8a1d66c7aec020f3e90254ed2fa55ecd9494fcc3 Mon Sep 17 00:00:00 2001
|
||||
From: Michael Brown <mcb30@ipxe.org>
|
||||
Date: Sat, 27 Jun 2020 20:43:32 +0100
|
||||
Subject: [PATCH] [golan] Add explicit type casts for nodnic_queue_pair_type
|
||||
|
||||
GCC 10 emits warnings for implicit conversions of enumerated types.
|
||||
|
||||
The flexboot_nodnic code defines nodnic_queue_pair_type with values
|
||||
identical to those of ib_queue_pair_type, and implicitly casts between
|
||||
them. Add an explicit cast to fix the warning.
|
||||
|
||||
Signed-off-by: Michael Brown <mcb30@ipxe.org>
|
||||
---
|
||||
src/drivers/infiniband/flexboot_nodnic.c | 6 ++++--
|
||||
1 file changed, 4 insertions(+), 2 deletions(-)
|
||||
|
||||
diff --git a/src/drivers/infiniband/flexboot_nodnic.c b/src/drivers/infiniband/flexboot_nodnic.c
|
||||
index 93bb0544..7d039fff 100644
|
||||
--- a/drivers/infiniband/flexboot_nodnic.c
|
||||
+++ b/drivers/infiniband/flexboot_nodnic.c
|
||||
@@ -365,7 +365,8 @@ static int flexboot_nodnic_create_qp ( struct ib_device *ibdev,
|
||||
goto qp_alloc_err;
|
||||
}
|
||||
|
||||
- status = nodnic_port_create_qp(&port->port_priv, qp->type,
|
||||
+ status = nodnic_port_create_qp(&port->port_priv,
|
||||
+ (nodnic_queue_pair_type) qp->type,
|
||||
qp->send.num_wqes * sizeof(struct nodnic_send_wqbb),
|
||||
qp->send.num_wqes,
|
||||
qp->recv.num_wqes * sizeof(struct nodnic_recv_wqe),
|
||||
@@ -406,7 +407,8 @@ static void flexboot_nodnic_destroy_qp ( struct ib_device *ibdev,
|
||||
struct flexboot_nodnic_port *port = &flexboot_nodnic->port[ibdev->port - 1];
|
||||
struct flexboot_nodnic_queue_pair *flexboot_nodnic_qp = ib_qp_get_drvdata ( qp );
|
||||
|
||||
- nodnic_port_destroy_qp(&port->port_priv, qp->type,
|
||||
+ nodnic_port_destroy_qp(&port->port_priv,
|
||||
+ (nodnic_queue_pair_type) qp->type,
|
||||
flexboot_nodnic_qp->nodnic_queue_pair);
|
||||
|
||||
free(flexboot_nodnic_qp);
|
||||
--
|
||||
2.17.1
|
||||
|
|
@ -0,0 +1,89 @@
|
|||
From 28cf9806d1632d378485005babec295da0c77fcf Mon Sep 17 00:00:00 2001
|
||||
From: Michael Brown <mcb30@ipxe.org>
|
||||
Date: Sat, 27 Jun 2020 20:21:11 +0100
|
||||
Subject: [PATCH] [intel] Avoid spurious compiler warning on GCC 10
|
||||
|
||||
GCC 10 produces a spurious warning about an out-of-bounds array access
|
||||
for the unsized raw dword array in union intelvf_msg.
|
||||
|
||||
Avoid the warning by embedding the zero-length array within a struct.
|
||||
|
||||
Signed-off-by: Michael Brown <mcb30@ipxe.org>
|
||||
---
|
||||
src/drivers/net/intelvf.c | 18 ++++++++++--------
|
||||
src/drivers/net/intelvf.h | 8 +++++++-
|
||||
2 files changed, 17 insertions(+), 9 deletions(-)
|
||||
|
||||
diff --git a/src/drivers/net/intelvf.c b/src/drivers/net/intelvf.c
|
||||
index ac6fea74..0d48b417 100644
|
||||
--- a/drivers/net/intelvf.c
|
||||
+++ b/drivers/net/intelvf.c
|
||||
@@ -52,14 +52,15 @@ FILE_LICENCE ( GPL2_OR_LATER_OR_UBDL );
|
||||
*/
|
||||
static void intelvf_mbox_write ( struct intel_nic *intel,
|
||||
const union intelvf_msg *msg ) {
|
||||
+ const struct intelvf_msg_raw *raw = &msg->raw;
|
||||
unsigned int i;
|
||||
|
||||
/* Write message */
|
||||
DBGC2 ( intel, "INTEL %p sending message", intel );
|
||||
- for ( i = 0 ; i < ( sizeof ( *msg ) / sizeof ( msg->dword[0] ) ) ; i++){
|
||||
- DBGC2 ( intel, "%c%08x", ( i ? ':' : ' ' ), msg->dword[i] );
|
||||
- writel ( msg->dword[i], ( intel->regs + intel->mbox.mem +
|
||||
- ( i * sizeof ( msg->dword[0] ) ) ) );
|
||||
+ for ( i = 0 ; i < ( sizeof ( *msg ) / sizeof ( raw->dword[0] ) ) ; i++){
|
||||
+ DBGC2 ( intel, "%c%08x", ( i ? ':' : ' ' ), raw->dword[i] );
|
||||
+ writel ( raw->dword[i], ( intel->regs + intel->mbox.mem +
|
||||
+ ( i * sizeof ( raw->dword[0] ) ) ) );
|
||||
}
|
||||
DBGC2 ( intel, "\n" );
|
||||
}
|
||||
@@ -72,14 +73,15 @@ static void intelvf_mbox_write ( struct intel_nic *intel,
|
||||
*/
|
||||
static void intelvf_mbox_read ( struct intel_nic *intel,
|
||||
union intelvf_msg *msg ) {
|
||||
+ struct intelvf_msg_raw *raw = &msg->raw;
|
||||
unsigned int i;
|
||||
|
||||
/* Read message */
|
||||
DBGC2 ( intel, "INTEL %p received message", intel );
|
||||
- for ( i = 0 ; i < ( sizeof ( *msg ) / sizeof ( msg->dword[0] ) ) ; i++){
|
||||
- msg->dword[i] = readl ( intel->regs + intel->mbox.mem +
|
||||
- ( i * sizeof ( msg->dword[0] ) ) );
|
||||
- DBGC2 ( intel, "%c%08x", ( i ? ':' : ' ' ), msg->dword[i] );
|
||||
+ for ( i = 0 ; i < ( sizeof ( *msg ) / sizeof ( raw->dword[0] ) ) ; i++){
|
||||
+ raw->dword[i] = readl ( intel->regs + intel->mbox.mem +
|
||||
+ ( i * sizeof ( raw->dword[0] ) ) );
|
||||
+ DBGC2 ( intel, "%c%08x", ( i ? ':' : ' ' ), raw->dword[i] );
|
||||
}
|
||||
DBGC2 ( intel, "\n" );
|
||||
}
|
||||
diff --git a/src/drivers/net/intelvf.h b/src/drivers/net/intelvf.h
|
||||
index ab404698..ffb18e04 100644
|
||||
--- a/drivers/net/intelvf.h
|
||||
+++ b/drivers/net/intelvf.h
|
||||
@@ -119,6 +119,12 @@ struct intelvf_msg_queues {
|
||||
uint32_t dflt;
|
||||
} __attribute__ (( packed ));
|
||||
|
||||
+/** Raw mailbox message */
|
||||
+struct intelvf_msg_raw {
|
||||
+ /** Raw dwords */
|
||||
+ uint32_t dword[0];
|
||||
+} __attribute__ (( packed ));
|
||||
+
|
||||
/** Mailbox message */
|
||||
union intelvf_msg {
|
||||
/** Message header */
|
||||
@@ -132,7 +138,7 @@ union intelvf_msg {
|
||||
/** Queue configuration message */
|
||||
struct intelvf_msg_queues queues;
|
||||
/** Raw dwords */
|
||||
- uint32_t dword[0];
|
||||
+ struct intelvf_msg_raw raw;
|
||||
};
|
||||
|
||||
/** Maximum time to wait for mailbox message
|
||||
--
|
||||
2.17.1
|
||||
|
|
@ -13,6 +13,8 @@ FILESEXTRAPATHS_prepend := "${THISDIR}/files:"
|
|||
SRC_URI = " \
|
||||
git://git.ipxe.org/ipxe.git;protocol=https \
|
||||
file://ipxe-fix-hostcc-nopie-cflags.patch \
|
||||
file://ipxe-intel-Avoid-spurious-compiler-warning-on-GCC-10.patch \
|
||||
file://ipxe-golan-Add-explicit-type-casts-for-nodnic_queue_pair_.patch \
|
||||
"
|
||||
|
||||
FILES_${PN} = "/usr/share/firmware/*.rom"
|
||||
|
|
Loading…
Reference in New Issue
Block a user