hw/riscv/riscv_htif.c | 21 ++++++++++++--------- 1 file changed, 12 insertions(+), 9 deletions(-)
There are some debug trace appearing when using GDB with the HTIF mapped @0:
Invalid htif read: address 0000000000000002
Invalid htif read: address 0000000000000006
Invalid htif read: address 000000000000000a
Invalid htif read: address 000000000000000e
So don't show them unconditionally.
Signed-off-by: KONRAD Frederic <frederic.konrad@adacore.com>
---
hw/riscv/riscv_htif.c | 21 ++++++++++++---------
1 file changed, 12 insertions(+), 9 deletions(-)
diff --git a/hw/riscv/riscv_htif.c b/hw/riscv/riscv_htif.c
index 4f7b11d..6a8f0c2 100644
--- a/hw/riscv/riscv_htif.c
+++ b/hw/riscv/riscv_htif.c
@@ -119,7 +119,8 @@ static void htif_handle_tohost_write(HTIFState *htifstate, uint64_t val_written)
int resp = 0;
HTIF_DEBUG("mtohost write: device: %d cmd: %d what: %02" PRIx64
- " -payload: %016" PRIx64 "\n", device, cmd, payload & 0xFF, payload);
+ " -payload: %016" PRIx64 "\n", device, cmd, payload & 0xFF,
+ payload);
/*
* Currently, there is a fixed mapping of devices:
@@ -137,7 +138,7 @@ static void htif_handle_tohost_write(HTIFState *htifstate, uint64_t val_written)
qemu_log_mask(LOG_UNIMP, "pk syscall proxy not supported\n");
}
} else {
- qemu_log("HTIF device %d: unknown command\n", device);
+ HTIF_DEBUG("HTIF device %d: unknown command\n", device);
}
} else if (likely(device == 0x1)) {
/* HTIF Console */
@@ -150,12 +151,13 @@ static void htif_handle_tohost_write(HTIFState *htifstate, uint64_t val_written)
qemu_chr_fe_write(&htifstate->chr, (uint8_t *)&payload, 1);
resp = 0x100 | (uint8_t)payload;
} else {
- qemu_log("HTIF device %d: unknown command\n", device);
+ HTIF_DEBUG("HTIF device %d: unknown command\n", device);
}
} else {
- qemu_log("HTIF unknown device or command\n");
+ HTIF_DEBUG("HTIF unknown device or command\n");
HTIF_DEBUG("device: %d cmd: %d what: %02" PRIx64
- " payload: %016" PRIx64, device, cmd, payload & 0xFF, payload);
+ " payload: %016" PRIx64, device, cmd, payload & 0xFF,
+ payload);
}
/*
* - latest bbl does not set fromhost to 0 if there is a value in tohost
@@ -180,6 +182,7 @@ static void htif_handle_tohost_write(HTIFState *htifstate, uint64_t val_written)
static uint64_t htif_mm_read(void *opaque, hwaddr addr, unsigned size)
{
HTIFState *htifstate = opaque;
+
if (addr == TOHOST_OFFSET1) {
return htifstate->env->mtohost & 0xFFFFFFFF;
} else if (addr == TOHOST_OFFSET2) {
@@ -189,8 +192,8 @@ static uint64_t htif_mm_read(void *opaque, hwaddr addr, unsigned size)
} else if (addr == FROMHOST_OFFSET2) {
return (htifstate->env->mfromhost >> 32) & 0xFFFFFFFF;
} else {
- qemu_log("Invalid htif read: address %016" PRIx64 "\n",
- (uint64_t)addr);
+ HTIF_DEBUG("Invalid htif read: address %016" PRIx64 "\n",
+ (uint64_t)addr);
return 0;
}
}
@@ -219,8 +222,8 @@ static void htif_mm_write(void *opaque, hwaddr addr,
htifstate->env->mfromhost |= value << 32;
htifstate->fromhost_inprogress = 0;
} else {
- qemu_log("Invalid htif write: address %016" PRIx64 "\n",
- (uint64_t)addr);
+ HTIF_DEBUG("Invalid htif write: address %016" PRIx64 "\n",
+ (uint64_t)addr);
}
}
--
1.8.3.1
Hi Frederic,
On 7/20/19 8:18 AM, KONRAD Frederic wrote:
> There are some debug trace appearing when using GDB with the HTIF mapped @0:
> Invalid htif read: address 0000000000000002
> Invalid htif read: address 0000000000000006
> Invalid htif read: address 000000000000000a
> Invalid htif read: address 000000000000000e
>
> So don't show them unconditionally.
>
> Signed-off-by: KONRAD Frederic <frederic.konrad@adacore.com>
> ---
> hw/riscv/riscv_htif.c | 21 ++++++++++++---------
> 1 file changed, 12 insertions(+), 9 deletions(-)
>
> diff --git a/hw/riscv/riscv_htif.c b/hw/riscv/riscv_htif.c
> index 4f7b11d..6a8f0c2 100644
> --- a/hw/riscv/riscv_htif.c
> +++ b/hw/riscv/riscv_htif.c
> @@ -119,7 +119,8 @@ static void htif_handle_tohost_write(HTIFState *htifstate, uint64_t val_written)
> int resp = 0;
>
> HTIF_DEBUG("mtohost write: device: %d cmd: %d what: %02" PRIx64
> - " -payload: %016" PRIx64 "\n", device, cmd, payload & 0xFF, payload);
> + " -payload: %016" PRIx64 "\n", device, cmd, payload & 0xFF,
> + payload);
>
> /*
> * Currently, there is a fixed mapping of devices:
> @@ -137,7 +138,7 @@ static void htif_handle_tohost_write(HTIFState *htifstate, uint64_t val_written)
> qemu_log_mask(LOG_UNIMP, "pk syscall proxy not supported\n");
> }
> } else {
> - qemu_log("HTIF device %d: unknown command\n", device);
> + HTIF_DEBUG("HTIF device %d: unknown command\n", device);
Generally, please don't go back to using DPRINTF() but use trace-events
instead.
However in this calls it seems using qemu_log_mask(LOG_UNIMP) or
qemu_log_mask(LOG_GUEST_ERROR) is appropriate.
> }
> } else if (likely(device == 0x1)) {
> /* HTIF Console */
> @@ -150,12 +151,13 @@ static void htif_handle_tohost_write(HTIFState *htifstate, uint64_t val_written)
> qemu_chr_fe_write(&htifstate->chr, (uint8_t *)&payload, 1);
> resp = 0x100 | (uint8_t)payload;
> } else {
> - qemu_log("HTIF device %d: unknown command\n", device);
> + HTIF_DEBUG("HTIF device %d: unknown command\n", device);
> }
> } else {
> - qemu_log("HTIF unknown device or command\n");
> + HTIF_DEBUG("HTIF unknown device or command\n");
> HTIF_DEBUG("device: %d cmd: %d what: %02" PRIx64
> - " payload: %016" PRIx64, device, cmd, payload & 0xFF, payload);
> + " payload: %016" PRIx64, device, cmd, payload & 0xFF,
> + payload);
> }
> /*
> * - latest bbl does not set fromhost to 0 if there is a value in tohost
> @@ -180,6 +182,7 @@ static void htif_handle_tohost_write(HTIFState *htifstate, uint64_t val_written)
> static uint64_t htif_mm_read(void *opaque, hwaddr addr, unsigned size)
> {
> HTIFState *htifstate = opaque;
> +
> if (addr == TOHOST_OFFSET1) {
> return htifstate->env->mtohost & 0xFFFFFFFF;
> } else if (addr == TOHOST_OFFSET2) {
> @@ -189,8 +192,8 @@ static uint64_t htif_mm_read(void *opaque, hwaddr addr, unsigned size)
> } else if (addr == FROMHOST_OFFSET2) {
> return (htifstate->env->mfromhost >> 32) & 0xFFFFFFFF;
> } else {
> - qemu_log("Invalid htif read: address %016" PRIx64 "\n",
> - (uint64_t)addr);
> + HTIF_DEBUG("Invalid htif read: address %016" PRIx64 "\n",
> + (uint64_t)addr);
> return 0;
> }
> }
> @@ -219,8 +222,8 @@ static void htif_mm_write(void *opaque, hwaddr addr,
> htifstate->env->mfromhost |= value << 32;
> htifstate->fromhost_inprogress = 0;
> } else {
> - qemu_log("Invalid htif write: address %016" PRIx64 "\n",
> - (uint64_t)addr);
> + HTIF_DEBUG("Invalid htif write: address %016" PRIx64 "\n",
> + (uint64_t)addr);
> }
> }
>
>
Cc'ing Stefan
On 7/20/19 11:44 AM, Philippe Mathieu-Daudé wrote:
> Hi Frederic,
>
> On 7/20/19 8:18 AM, KONRAD Frederic wrote:
>> There are some debug trace appearing when using GDB with the HTIF mapped @0:
>> Invalid htif read: address 0000000000000002
>> Invalid htif read: address 0000000000000006
>> Invalid htif read: address 000000000000000a
>> Invalid htif read: address 000000000000000e
>>
>> So don't show them unconditionally.
>>
>> Signed-off-by: KONRAD Frederic <frederic.konrad@adacore.com>
>> ---
>> hw/riscv/riscv_htif.c | 21 ++++++++++++---------
>> 1 file changed, 12 insertions(+), 9 deletions(-)
>>
>> diff --git a/hw/riscv/riscv_htif.c b/hw/riscv/riscv_htif.c
>> index 4f7b11d..6a8f0c2 100644
>> --- a/hw/riscv/riscv_htif.c
>> +++ b/hw/riscv/riscv_htif.c
>> @@ -119,7 +119,8 @@ static void htif_handle_tohost_write(HTIFState *htifstate, uint64_t val_written)
>> int resp = 0;
>>
>> HTIF_DEBUG("mtohost write: device: %d cmd: %d what: %02" PRIx64
>> - " -payload: %016" PRIx64 "\n", device, cmd, payload & 0xFF, payload);
>> + " -payload: %016" PRIx64 "\n", device, cmd, payload & 0xFF,
>> + payload);
>>
>> /*
>> * Currently, there is a fixed mapping of devices:
>> @@ -137,7 +138,7 @@ static void htif_handle_tohost_write(HTIFState *htifstate, uint64_t val_written)
>> qemu_log_mask(LOG_UNIMP, "pk syscall proxy not supported\n");
>> }
>> } else {
>> - qemu_log("HTIF device %d: unknown command\n", device);
>> + HTIF_DEBUG("HTIF device %d: unknown command\n", device);
>
> Generally, please don't go back to using DPRINTF() but use trace-events
> instead.
Oh, now I see that HTIF_DEBUG() is just an obscure way to report
crippled log trace-events, not portable to all trace backends.
It is only used in 2 files:
- hw/riscv/riscv_htif.c
- target/riscv/pmp.c as PMP_DEBUG()
I'd rather remove these macros and use trace-events the same way the
rest of the codebase use them, usable by all backends.
> However in this calls it seems using qemu_log_mask(LOG_UNIMP) or
> qemu_log_mask(LOG_GUEST_ERROR) is appropriate.
>
>> }
>> } else if (likely(device == 0x1)) {
>> /* HTIF Console */
>> @@ -150,12 +151,13 @@ static void htif_handle_tohost_write(HTIFState *htifstate, uint64_t val_written)
>> qemu_chr_fe_write(&htifstate->chr, (uint8_t *)&payload, 1);
>> resp = 0x100 | (uint8_t)payload;
>> } else {
>> - qemu_log("HTIF device %d: unknown command\n", device);
>> + HTIF_DEBUG("HTIF device %d: unknown command\n", device);
>> }
>> } else {
>> - qemu_log("HTIF unknown device or command\n");
>> + HTIF_DEBUG("HTIF unknown device or command\n");
>> HTIF_DEBUG("device: %d cmd: %d what: %02" PRIx64
>> - " payload: %016" PRIx64, device, cmd, payload & 0xFF, payload);
>> + " payload: %016" PRIx64, device, cmd, payload & 0xFF,
>> + payload);
>> }
>> /*
>> * - latest bbl does not set fromhost to 0 if there is a value in tohost
>> @@ -180,6 +182,7 @@ static void htif_handle_tohost_write(HTIFState *htifstate, uint64_t val_written)
>> static uint64_t htif_mm_read(void *opaque, hwaddr addr, unsigned size)
>> {
>> HTIFState *htifstate = opaque;
>> +
>> if (addr == TOHOST_OFFSET1) {
>> return htifstate->env->mtohost & 0xFFFFFFFF;
>> } else if (addr == TOHOST_OFFSET2) {
>> @@ -189,8 +192,8 @@ static uint64_t htif_mm_read(void *opaque, hwaddr addr, unsigned size)
>> } else if (addr == FROMHOST_OFFSET2) {
>> return (htifstate->env->mfromhost >> 32) & 0xFFFFFFFF;
>> } else {
>> - qemu_log("Invalid htif read: address %016" PRIx64 "\n",
>> - (uint64_t)addr);
>> + HTIF_DEBUG("Invalid htif read: address %016" PRIx64 "\n",
>> + (uint64_t)addr);
>> return 0;
>> }
>> }
>> @@ -219,8 +222,8 @@ static void htif_mm_write(void *opaque, hwaddr addr,
>> htifstate->env->mfromhost |= value << 32;
>> htifstate->fromhost_inprogress = 0;
>> } else {
>> - qemu_log("Invalid htif write: address %016" PRIx64 "\n",
>> - (uint64_t)addr);
>> + HTIF_DEBUG("Invalid htif write: address %016" PRIx64 "\n",
>> + (uint64_t)addr);
>> }
>> }
>>
>>
Hi Philippe,
Le 7/20/19 à 11:50 AM, Philippe Mathieu-Daudé a écrit :
> Cc'ing Stefan
>
> On 7/20/19 11:44 AM, Philippe Mathieu-Daudé wrote:
>> Hi Frederic,
>>
>> On 7/20/19 8:18 AM, KONRAD Frederic wrote:
>>> There are some debug trace appearing when using GDB with the HTIF mapped @0:
>>> Invalid htif read: address 0000000000000002
>>> Invalid htif read: address 0000000000000006
>>> Invalid htif read: address 000000000000000a
>>> Invalid htif read: address 000000000000000e
>>>
>>> So don't show them unconditionally.
>>>
>>> Signed-off-by: KONRAD Frederic <frederic.konrad@adacore.com>
>>> ---
>>> hw/riscv/riscv_htif.c | 21 ++++++++++++---------
>>> 1 file changed, 12 insertions(+), 9 deletions(-)
>>>
>>> diff --git a/hw/riscv/riscv_htif.c b/hw/riscv/riscv_htif.c
>>> index 4f7b11d..6a8f0c2 100644
>>> --- a/hw/riscv/riscv_htif.c
>>> +++ b/hw/riscv/riscv_htif.c
>>> @@ -119,7 +119,8 @@ static void htif_handle_tohost_write(HTIFState *htifstate, uint64_t val_written)
>>> int resp = 0;
>>>
>>> HTIF_DEBUG("mtohost write: device: %d cmd: %d what: %02" PRIx64
>>> - " -payload: %016" PRIx64 "\n", device, cmd, payload & 0xFF, payload);
>>> + " -payload: %016" PRIx64 "\n", device, cmd, payload & 0xFF,
>>> + payload);
>>>
>>> /*
>>> * Currently, there is a fixed mapping of devices:
>>> @@ -137,7 +138,7 @@ static void htif_handle_tohost_write(HTIFState *htifstate, uint64_t val_written)
>>> qemu_log_mask(LOG_UNIMP, "pk syscall proxy not supported\n");
>>> }
>>> } else {
>>> - qemu_log("HTIF device %d: unknown command\n", device);
>>> + HTIF_DEBUG("HTIF device %d: unknown command\n", device);
>>
>> Generally, please don't go back to using DPRINTF() but use trace-events
>> instead.
>
> Oh, now I see that HTIF_DEBUG() is just an obscure way to report
> crippled log trace-events, not portable to all trace backends.
>
> It is only used in 2 files:
>
> - hw/riscv/riscv_htif.c
> - target/riscv/pmp.c as PMP_DEBUG()
>
> I'd rather remove these macros and use trace-events the same way the
> rest of the codebase use them, usable by all backends.
>
Ok why not.. If the RISC-V maintainers are happy with your suggestion I can do
a patch.
Cheers,
Fred
>> However in this calls it seems using qemu_log_mask(LOG_UNIMP) or
>> qemu_log_mask(LOG_GUEST_ERROR) is appropriate.
>>
>>> }
>>> } else if (likely(device == 0x1)) {
>>> /* HTIF Console */
>>> @@ -150,12 +151,13 @@ static void htif_handle_tohost_write(HTIFState *htifstate, uint64_t val_written)
>>> qemu_chr_fe_write(&htifstate->chr, (uint8_t *)&payload, 1);
>>> resp = 0x100 | (uint8_t)payload;
>>> } else {
>>> - qemu_log("HTIF device %d: unknown command\n", device);
>>> + HTIF_DEBUG("HTIF device %d: unknown command\n", device);
>>> }
>>> } else {
>>> - qemu_log("HTIF unknown device or command\n");
>>> + HTIF_DEBUG("HTIF unknown device or command\n");
>>> HTIF_DEBUG("device: %d cmd: %d what: %02" PRIx64
>>> - " payload: %016" PRIx64, device, cmd, payload & 0xFF, payload);
>>> + " payload: %016" PRIx64, device, cmd, payload & 0xFF,
>>> + payload);
>>> }
>>> /*
>>> * - latest bbl does not set fromhost to 0 if there is a value in tohost
>>> @@ -180,6 +182,7 @@ static void htif_handle_tohost_write(HTIFState *htifstate, uint64_t val_written)
>>> static uint64_t htif_mm_read(void *opaque, hwaddr addr, unsigned size)
>>> {
>>> HTIFState *htifstate = opaque;
>>> +
>>> if (addr == TOHOST_OFFSET1) {
>>> return htifstate->env->mtohost & 0xFFFFFFFF;
>>> } else if (addr == TOHOST_OFFSET2) {
>>> @@ -189,8 +192,8 @@ static uint64_t htif_mm_read(void *opaque, hwaddr addr, unsigned size)
>>> } else if (addr == FROMHOST_OFFSET2) {
>>> return (htifstate->env->mfromhost >> 32) & 0xFFFFFFFF;
>>> } else {
>>> - qemu_log("Invalid htif read: address %016" PRIx64 "\n",
>>> - (uint64_t)addr);
>>> + HTIF_DEBUG("Invalid htif read: address %016" PRIx64 "\n",
>>> + (uint64_t)addr);
>>> return 0;
>>> }
>>> }
>>> @@ -219,8 +222,8 @@ static void htif_mm_write(void *opaque, hwaddr addr,
>>> htifstate->env->mfromhost |= value << 32;
>>> htifstate->fromhost_inprogress = 0;
>>> } else {
>>> - qemu_log("Invalid htif write: address %016" PRIx64 "\n",
>>> - (uint64_t)addr);
>>> + HTIF_DEBUG("Invalid htif write: address %016" PRIx64 "\n",
>>> + (uint64_t)addr);
>>> }
>>> }
>>>
>>>
On Mon, Jul 22, 2019 at 2:29 AM KONRAD Frederic
<frederic.konrad@adacore.com> wrote:
>
> Hi Philippe,
>
> Le 7/20/19 à 11:50 AM, Philippe Mathieu-Daudé a écrit :
> > Cc'ing Stefan
> >
> > On 7/20/19 11:44 AM, Philippe Mathieu-Daudé wrote:
> >> Hi Frederic,
> >>
> >> On 7/20/19 8:18 AM, KONRAD Frederic wrote:
> >>> There are some debug trace appearing when using GDB with the HTIF mapped @0:
> >>> Invalid htif read: address 0000000000000002
> >>> Invalid htif read: address 0000000000000006
> >>> Invalid htif read: address 000000000000000a
> >>> Invalid htif read: address 000000000000000e
> >>>
> >>> So don't show them unconditionally.
> >>>
> >>> Signed-off-by: KONRAD Frederic <frederic.konrad@adacore.com>
> >>> ---
> >>> hw/riscv/riscv_htif.c | 21 ++++++++++++---------
> >>> 1 file changed, 12 insertions(+), 9 deletions(-)
> >>>
> >>> diff --git a/hw/riscv/riscv_htif.c b/hw/riscv/riscv_htif.c
> >>> index 4f7b11d..6a8f0c2 100644
> >>> --- a/hw/riscv/riscv_htif.c
> >>> +++ b/hw/riscv/riscv_htif.c
> >>> @@ -119,7 +119,8 @@ static void htif_handle_tohost_write(HTIFState *htifstate, uint64_t val_written)
> >>> int resp = 0;
> >>>
> >>> HTIF_DEBUG("mtohost write: device: %d cmd: %d what: %02" PRIx64
> >>> - " -payload: %016" PRIx64 "\n", device, cmd, payload & 0xFF, payload);
> >>> + " -payload: %016" PRIx64 "\n", device, cmd, payload & 0xFF,
> >>> + payload);
> >>>
> >>> /*
> >>> * Currently, there is a fixed mapping of devices:
> >>> @@ -137,7 +138,7 @@ static void htif_handle_tohost_write(HTIFState *htifstate, uint64_t val_written)
> >>> qemu_log_mask(LOG_UNIMP, "pk syscall proxy not supported\n");
> >>> }
> >>> } else {
> >>> - qemu_log("HTIF device %d: unknown command\n", device);
> >>> + HTIF_DEBUG("HTIF device %d: unknown command\n", device);
> >>
> >> Generally, please don't go back to using DPRINTF() but use trace-events
> >> instead.
> >
> > Oh, now I see that HTIF_DEBUG() is just an obscure way to report
> > crippled log trace-events, not portable to all trace backends.
> >
> > It is only used in 2 files:
> >
> > - hw/riscv/riscv_htif.c
> > - target/riscv/pmp.c as PMP_DEBUG()
> >
> > I'd rather remove these macros and use trace-events the same way the
> > rest of the codebase use them, usable by all backends.
> >
>
> Ok why not.. If the RISC-V maintainers are happy with your suggestion I can do
> a patch.
Yes please!
Most of these look like qemu_log_mask(LOG_GUEST_ERROR) cases so that's
probably the best bet. The others should probably be converted to
traces.
Alistair
>
> Cheers,
> Fred
>
> >> However in this calls it seems using qemu_log_mask(LOG_UNIMP) or
> >> qemu_log_mask(LOG_GUEST_ERROR) is appropriate.
> >>
> >>> }
> >>> } else if (likely(device == 0x1)) {
> >>> /* HTIF Console */
> >>> @@ -150,12 +151,13 @@ static void htif_handle_tohost_write(HTIFState *htifstate, uint64_t val_written)
> >>> qemu_chr_fe_write(&htifstate->chr, (uint8_t *)&payload, 1);
> >>> resp = 0x100 | (uint8_t)payload;
> >>> } else {
> >>> - qemu_log("HTIF device %d: unknown command\n", device);
> >>> + HTIF_DEBUG("HTIF device %d: unknown command\n", device);
> >>> }
> >>> } else {
> >>> - qemu_log("HTIF unknown device or command\n");
> >>> + HTIF_DEBUG("HTIF unknown device or command\n");
> >>> HTIF_DEBUG("device: %d cmd: %d what: %02" PRIx64
> >>> - " payload: %016" PRIx64, device, cmd, payload & 0xFF, payload);
> >>> + " payload: %016" PRIx64, device, cmd, payload & 0xFF,
> >>> + payload);
> >>> }
> >>> /*
> >>> * - latest bbl does not set fromhost to 0 if there is a value in tohost
> >>> @@ -180,6 +182,7 @@ static void htif_handle_tohost_write(HTIFState *htifstate, uint64_t val_written)
> >>> static uint64_t htif_mm_read(void *opaque, hwaddr addr, unsigned size)
> >>> {
> >>> HTIFState *htifstate = opaque;
> >>> +
> >>> if (addr == TOHOST_OFFSET1) {
> >>> return htifstate->env->mtohost & 0xFFFFFFFF;
> >>> } else if (addr == TOHOST_OFFSET2) {
> >>> @@ -189,8 +192,8 @@ static uint64_t htif_mm_read(void *opaque, hwaddr addr, unsigned size)
> >>> } else if (addr == FROMHOST_OFFSET2) {
> >>> return (htifstate->env->mfromhost >> 32) & 0xFFFFFFFF;
> >>> } else {
> >>> - qemu_log("Invalid htif read: address %016" PRIx64 "\n",
> >>> - (uint64_t)addr);
> >>> + HTIF_DEBUG("Invalid htif read: address %016" PRIx64 "\n",
> >>> + (uint64_t)addr);
> >>> return 0;
> >>> }
> >>> }
> >>> @@ -219,8 +222,8 @@ static void htif_mm_write(void *opaque, hwaddr addr,
> >>> htifstate->env->mfromhost |= value << 32;
> >>> htifstate->fromhost_inprogress = 0;
> >>> } else {
> >>> - qemu_log("Invalid htif write: address %016" PRIx64 "\n",
> >>> - (uint64_t)addr);
> >>> + HTIF_DEBUG("Invalid htif write: address %016" PRIx64 "\n",
> >>> + (uint64_t)addr);
> >>> }
> >>> }
> >>>
> >>>
>
© 2016 - 2025 Red Hat, Inc.