[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[PATCH v2 09/11] hw/usb/hcd-ohci: Use definition to avoid dynamic stack
From: |
Peter Maydell |
Subject: |
[PATCH v2 09/11] hw/usb/hcd-ohci: Use definition to avoid dynamic stack allocation |
Date: |
Fri, 19 Aug 2022 16:39:29 +0100 |
From: Philippe Mathieu-Daudé <philmd@redhat.com>
The compiler isn't clever enough to figure 'width' is a constant,
so help it by using a definitions instead.
Signed-off-by: Philippe Mathieu-Daudé <philmd@redhat.com>
Reviewed-by: Richard Henderson <richard.henderson@linaro.org>
Signed-off-by: Peter Maydell <peter.maydell@linaro.org>
---
hw/usb/hcd-ohci.c | 7 ++++---
1 file changed, 4 insertions(+), 3 deletions(-)
diff --git a/hw/usb/hcd-ohci.c b/hw/usb/hcd-ohci.c
index 895b29fb865..5585fd32ccf 100644
--- a/hw/usb/hcd-ohci.c
+++ b/hw/usb/hcd-ohci.c
@@ -805,13 +805,14 @@ static int ohci_service_iso_td(OHCIState *ohci, struct
ohci_ed *ed)
return 1;
}
+#define HEX_CHAR_PER_LINE 16
+
static void ohci_td_pkt(const char *msg, const uint8_t *buf, size_t len)
{
bool print16;
bool printall;
- const int width = 16;
int i;
- char tmp[3 * width + 1];
+ char tmp[3 * HEX_CHAR_PER_LINE + 1];
char *p = tmp;
print16 = !!trace_event_get_state_backends(TRACE_USB_OHCI_TD_PKT_SHORT);
@@ -822,7 +823,7 @@ static void ohci_td_pkt(const char *msg, const uint8_t
*buf, size_t len)
}
for (i = 0; ; i++) {
- if (i && (!(i % width) || (i == len))) {
+ if (i && (!(i % HEX_CHAR_PER_LINE) || (i == len))) {
if (!printall) {
trace_usb_ohci_td_pkt_short(msg, tmp);
break;
--
2.25.1
- [PATCH v2 00/11] misc: Remove variable-length arrays on the stack, Peter Maydell, 2022/08/19
- [PATCH v2 03/11] chardev/baum: Avoid dynamic stack allocation, Peter Maydell, 2022/08/19
- [PATCH v2 04/11] io/channel-websock: Replace strlen(const_str) by sizeof(const_str) - 1, Peter Maydell, 2022/08/19
- [PATCH v2 02/11] chardev/baum: Use definitions to avoid dynamic stack allocation, Peter Maydell, 2022/08/19
- [PATCH v2 01/11] chardev/baum: Replace magic values by X_MAX / Y_MAX definitions, Peter Maydell, 2022/08/19
- [PATCH v2 05/11] hw/net/e1000e_core: Use definition to avoid dynamic stack allocation, Peter Maydell, 2022/08/19
- [PATCH v2 06/11] hw/ppc/pnv: Avoid dynamic stack allocation, Peter Maydell, 2022/08/19
- [PATCH v2 07/11] hw/intc/xics: Avoid dynamic stack allocation, Peter Maydell, 2022/08/19
- [PATCH v2 10/11] ui/curses: Avoid dynamic stack allocation, Peter Maydell, 2022/08/19
- [PATCH v2 09/11] hw/usb/hcd-ohci: Use definition to avoid dynamic stack allocation,
Peter Maydell <=
- [PATCH v2 11/11] tests/unit/test-vmstate: Avoid dynamic stack allocation, Peter Maydell, 2022/08/19
- [PATCH v2 08/11] hw/i386/multiboot: Avoid dynamic stack allocation, Peter Maydell, 2022/08/19
- Re: [PATCH v2 00/11] misc: Remove variable-length arrays on the stack, Philippe Mathieu-Daudé, 2022/08/25