* [Qemu-devel] [PATCH for 1.6 0/2] Fix unassigned memory and I/O access handling @ 2013-08-09 12:01 Jan Kiszka 2013-08-09 12:01 ` [Qemu-devel] [PATCH for 1.6 1/2] memory: Provide separate handling of unassigned io ports accesses Jan Kiszka 2013-08-09 12:01 ` [Qemu-devel] [PATCH for 1.6 2/2] Revert "memory: Return -1 again on reads from unsigned regions" Jan Kiszka 0 siblings, 2 replies; 12+ messages in thread From: Jan Kiszka @ 2013-08-09 12:01 UTC (permalink / raw) To: qemu-devel, Anthony Liguori Cc: Paolo Bonzini, Andreas Färber, Peter Maydell This just binds both patches properly together and fixes up the return value size of unassigned_io_read as suggested. Please merge before the 1.6 release. Jan Kiszka (2): memory: Provide separate handling of unassigned io ports accesses Revert "memory: Return -1 again on reads from unsigned regions" exec.c | 3 ++- include/exec/ioport.h | 2 ++ ioport.c | 16 ++++++++++++++++ memory.c | 2 +- 4 files changed, 21 insertions(+), 2 deletions(-) -- 1.7.3.4 ^ permalink raw reply [flat|nested] 12+ messages in thread
* [Qemu-devel] [PATCH for 1.6 1/2] memory: Provide separate handling of unassigned io ports accesses 2013-08-09 12:01 [Qemu-devel] [PATCH for 1.6 0/2] Fix unassigned memory and I/O access handling Jan Kiszka @ 2013-08-09 12:01 ` Jan Kiszka 2013-08-12 14:34 ` Anthony Liguori 2013-08-09 12:01 ` [Qemu-devel] [PATCH for 1.6 2/2] Revert "memory: Return -1 again on reads from unsigned regions" Jan Kiszka 1 sibling, 1 reply; 12+ messages in thread From: Jan Kiszka @ 2013-08-09 12:01 UTC (permalink / raw) To: qemu-devel, Anthony Liguori Cc: Paolo Bonzini, Andreas Färber, Peter Maydell Accesses to unassigned io ports shall return -1 on read and be ignored on write. Ensure these properties via dedicated ops, decoupling us from the memory core's handling of unassigned accesses. Signed-off-by: Jan Kiszka <jan.kiszka@siemens.com> --- exec.c | 3 ++- include/exec/ioport.h | 2 ++ ioport.c | 16 ++++++++++++++++ 3 files changed, 20 insertions(+), 1 deletions(-) diff --git a/exec.c b/exec.c index 3ca9381..9ed598f 100644 --- a/exec.c +++ b/exec.c @@ -1820,7 +1820,8 @@ static void memory_map_init(void) address_space_init(&address_space_memory, system_memory, "memory"); system_io = g_malloc(sizeof(*system_io)); - memory_region_init(system_io, NULL, "io", 65536); + memory_region_init_io(system_io, NULL, &unassigned_io_ops, NULL, "io", + 65536); address_space_init(&address_space_io, system_io, "I/O"); memory_listener_register(&core_memory_listener, &address_space_memory); diff --git a/include/exec/ioport.h b/include/exec/ioport.h index bdd4e96..84f7f85 100644 --- a/include/exec/ioport.h +++ b/include/exec/ioport.h @@ -45,6 +45,8 @@ typedef struct MemoryRegionPortio { #define PORTIO_END_OF_LIST() { } +extern const MemoryRegionOps unassigned_io_ops; + void cpu_outb(pio_addr_t addr, uint8_t val); void cpu_outw(pio_addr_t addr, uint16_t val); void cpu_outl(pio_addr_t addr, uint32_t val); diff --git a/ioport.c b/ioport.c index 79b7f1a..707cce8 100644 --- a/ioport.c +++ b/ioport.c @@ -44,6 +44,22 @@ typedef struct MemoryRegionPortioList { MemoryRegionPortio ports[]; } MemoryRegionPortioList; +static uint64_t unassigned_io_read(void *opaque, hwaddr addr, unsigned size) +{ + return -1ULL; +} + +static void unassigned_io_write(void *opaque, hwaddr addr, uint64_t val, + unsigned size) +{ +} + +const MemoryRegionOps unassigned_io_ops = { + .read = unassigned_io_read, + .write = unassigned_io_write, + .endianness = DEVICE_NATIVE_ENDIAN, +}; + void cpu_outb(pio_addr_t addr, uint8_t val) { LOG_IOPORT("outb: %04"FMT_pioaddr" %02"PRIx8"\n", addr, val); -- 1.7.3.4 ^ permalink raw reply related [flat|nested] 12+ messages in thread
* Re: [Qemu-devel] [PATCH for 1.6 1/2] memory: Provide separate handling of unassigned io ports accesses 2013-08-09 12:01 ` [Qemu-devel] [PATCH for 1.6 1/2] memory: Provide separate handling of unassigned io ports accesses Jan Kiszka @ 2013-08-12 14:34 ` Anthony Liguori 2013-08-12 15:29 ` [Qemu-devel] [PATCH v2 " Jan Kiszka 0 siblings, 1 reply; 12+ messages in thread From: Anthony Liguori @ 2013-08-12 14:34 UTC (permalink / raw) To: Jan Kiszka, qemu-devel; +Cc: Paolo Bonzini, Andreas Färber, Peter Maydell Jan Kiszka <jan.kiszka@siemens.com> writes: > Accesses to unassigned io ports shall return -1 on read and be ignored > on write. Ensure these properties via dedicated ops, decoupling us from > the memory core's handling of unassigned accesses. > > Signed-off-by: Jan Kiszka <jan.kiszka@siemens.com> Breaks the build (linux-user): LINK xtensa-softmmu/qemu-system-xtensa CC alpha-linux-user/exec.o In file included from /home/aliguori/git/qemu/include/hw/hw.h:11:0, from /home/aliguori/git/qemu/exec.c:30: /home/aliguori/git/qemu/include/exec/ioport.h:48:1: error: unknown type name ‘MemoryRegionOps’ make[1]: *** [exec.o] Error 1 make: *** [subdir-alpha-linux-user] Error 2 Regards, Anthony Liguori > --- > exec.c | 3 ++- > include/exec/ioport.h | 2 ++ > ioport.c | 16 ++++++++++++++++ > 3 files changed, 20 insertions(+), 1 deletions(-) > > diff --git a/exec.c b/exec.c > index 3ca9381..9ed598f 100644 > --- a/exec.c > +++ b/exec.c > @@ -1820,7 +1820,8 @@ static void memory_map_init(void) > address_space_init(&address_space_memory, system_memory, "memory"); > > system_io = g_malloc(sizeof(*system_io)); > - memory_region_init(system_io, NULL, "io", 65536); > + memory_region_init_io(system_io, NULL, &unassigned_io_ops, NULL, "io", > + 65536); > address_space_init(&address_space_io, system_io, "I/O"); > > memory_listener_register(&core_memory_listener, &address_space_memory); > diff --git a/include/exec/ioport.h b/include/exec/ioport.h > index bdd4e96..84f7f85 100644 > --- a/include/exec/ioport.h > +++ b/include/exec/ioport.h > @@ -45,6 +45,8 @@ typedef struct MemoryRegionPortio { > > #define PORTIO_END_OF_LIST() { } > > +extern const MemoryRegionOps unassigned_io_ops; > + > void cpu_outb(pio_addr_t addr, uint8_t val); > void cpu_outw(pio_addr_t addr, uint16_t val); > void cpu_outl(pio_addr_t addr, uint32_t val); > diff --git a/ioport.c b/ioport.c > index 79b7f1a..707cce8 100644 > --- a/ioport.c > +++ b/ioport.c > @@ -44,6 +44,22 @@ typedef struct MemoryRegionPortioList { > MemoryRegionPortio ports[]; > } MemoryRegionPortioList; > > +static uint64_t unassigned_io_read(void *opaque, hwaddr addr, unsigned size) > +{ > + return -1ULL; > +} > + > +static void unassigned_io_write(void *opaque, hwaddr addr, uint64_t val, > + unsigned size) > +{ > +} > + > +const MemoryRegionOps unassigned_io_ops = { > + .read = unassigned_io_read, > + .write = unassigned_io_write, > + .endianness = DEVICE_NATIVE_ENDIAN, > +}; > + > void cpu_outb(pio_addr_t addr, uint8_t val) > { > LOG_IOPORT("outb: %04"FMT_pioaddr" %02"PRIx8"\n", addr, val); > -- > 1.7.3.4 ^ permalink raw reply [flat|nested] 12+ messages in thread
* [Qemu-devel] [PATCH v2 for 1.6 1/2] memory: Provide separate handling of unassigned io ports accesses 2013-08-12 14:34 ` Anthony Liguori @ 2013-08-12 15:29 ` Jan Kiszka 2013-08-12 15:39 ` Andreas Färber 2013-08-12 15:41 ` Anthony Liguori 0 siblings, 2 replies; 12+ messages in thread From: Jan Kiszka @ 2013-08-12 15:29 UTC (permalink / raw) To: Anthony Liguori Cc: Peter Maydell, Paolo Bonzini, qemu-devel, Andreas Färber Accesses to unassigned io ports shall return -1 on read and be ignored on write. Ensure these properties via dedicated ops, decoupling us from the memory core's handling of unassigned accesses. Signed-off-by: Jan Kiszka <jan.kiszka@siemens.com> --- Changes in v2: - avoid breakage in ioport.h for user build exec.c | 3 ++- include/exec/ioport.h | 4 ++++ ioport.c | 16 ++++++++++++++++ 3 files changed, 22 insertions(+), 1 deletions(-) diff --git a/exec.c b/exec.c index 3ca9381..9ed598f 100644 --- a/exec.c +++ b/exec.c @@ -1820,7 +1820,8 @@ static void memory_map_init(void) address_space_init(&address_space_memory, system_memory, "memory"); system_io = g_malloc(sizeof(*system_io)); - memory_region_init(system_io, NULL, "io", 65536); + memory_region_init_io(system_io, NULL, &unassigned_io_ops, NULL, "io", + 65536); address_space_init(&address_space_io, system_io, "I/O"); memory_listener_register(&core_memory_listener, &address_space_memory); diff --git a/include/exec/ioport.h b/include/exec/ioport.h index bdd4e96..b3848be 100644 --- a/include/exec/ioport.h +++ b/include/exec/ioport.h @@ -45,6 +45,10 @@ typedef struct MemoryRegionPortio { #define PORTIO_END_OF_LIST() { } +#ifndef CONFIG_USER_ONLY +extern const MemoryRegionOps unassigned_io_ops; +#endif + void cpu_outb(pio_addr_t addr, uint8_t val); void cpu_outw(pio_addr_t addr, uint16_t val); void cpu_outl(pio_addr_t addr, uint32_t val); diff --git a/ioport.c b/ioport.c index 79b7f1a..707cce8 100644 --- a/ioport.c +++ b/ioport.c @@ -44,6 +44,22 @@ typedef struct MemoryRegionPortioList { MemoryRegionPortio ports[]; } MemoryRegionPortioList; +static uint64_t unassigned_io_read(void *opaque, hwaddr addr, unsigned size) +{ + return -1ULL; +} + +static void unassigned_io_write(void *opaque, hwaddr addr, uint64_t val, + unsigned size) +{ +} + +const MemoryRegionOps unassigned_io_ops = { + .read = unassigned_io_read, + .write = unassigned_io_write, + .endianness = DEVICE_NATIVE_ENDIAN, +}; + void cpu_outb(pio_addr_t addr, uint8_t val) { LOG_IOPORT("outb: %04"FMT_pioaddr" %02"PRIx8"\n", addr, val); -- 1.7.3.4 ^ permalink raw reply related [flat|nested] 12+ messages in thread
* Re: [Qemu-devel] [PATCH v2 for 1.6 1/2] memory: Provide separate handling of unassigned io ports accesses 2013-08-12 15:29 ` [Qemu-devel] [PATCH v2 " Jan Kiszka @ 2013-08-12 15:39 ` Andreas Färber 2013-09-02 13:52 ` Peter Maydell 2013-08-12 15:41 ` Anthony Liguori 1 sibling, 1 reply; 12+ messages in thread From: Andreas Färber @ 2013-08-12 15:39 UTC (permalink / raw) To: Jan Kiszka; +Cc: Paolo Bonzini, Anthony Liguori, qemu-devel, Peter Maydell Am 12.08.2013 17:29, schrieb Jan Kiszka: > Accesses to unassigned io ports shall return -1 on read and be ignored > on write. Ensure these properties via dedicated ops, decoupling us from > the memory core's handling of unassigned accesses. > > Signed-off-by: Jan Kiszka <jan.kiszka@siemens.com> > --- > > Changes in v2: > - avoid breakage in ioport.h for user build Looks OK, but if you want Anthony to apply this for rc3 then please repost as a full, top-level series. Andreas -- SUSE LINUX Products GmbH, Maxfeldstr. 5, 90409 Nürnberg, Germany GF: Jeff Hawn, Jennifer Guild, Felix Imendörffer; HRB 16746 AG Nürnberg ^ permalink raw reply [flat|nested] 12+ messages in thread
* Re: [Qemu-devel] [PATCH v2 for 1.6 1/2] memory: Provide separate handling of unassigned io ports accesses 2013-08-12 15:39 ` Andreas Färber @ 2013-09-02 13:52 ` Peter Maydell 2013-09-02 15:56 ` Jan Kiszka 0 siblings, 1 reply; 12+ messages in thread From: Peter Maydell @ 2013-09-02 13:52 UTC (permalink / raw) To: Andreas Färber Cc: Jan Kiszka, Anthony Liguori, qemu-devel, Paolo Bonzini On 12 August 2013 16:39, Andreas Färber <afaerber@suse.de> wrote: > Am 12.08.2013 17:29, schrieb Jan Kiszka: >> Accesses to unassigned io ports shall return -1 on read and be ignored >> on write. Ensure these properties via dedicated ops, decoupling us from >> the memory core's handling of unassigned accesses. >> >> Signed-off-by: Jan Kiszka <jan.kiszka@siemens.com> >> --- >> >> Changes in v2: >> - avoid breakage in ioport.h for user build > > Looks OK, but if you want Anthony to apply this for rc3 then please > repost as a full, top-level series. It looks like this never happened, so this bug is still present in master :-( [noticed by stsquad since integratorcp is busted too]. thanks -- PMM ^ permalink raw reply [flat|nested] 12+ messages in thread
* Re: [Qemu-devel] [PATCH v2 for 1.6 1/2] memory: Provide separate handling of unassigned io ports accesses 2013-09-02 13:52 ` Peter Maydell @ 2013-09-02 15:56 ` Jan Kiszka 2013-09-02 15:58 ` Andreas Färber 0 siblings, 1 reply; 12+ messages in thread From: Jan Kiszka @ 2013-09-02 15:56 UTC (permalink / raw) To: Peter Maydell Cc: Paolo Bonzini, Anthony Liguori, Andreas Färber, qemu-devel On 2013-09-02 15:52, Peter Maydell wrote: > On 12 August 2013 16:39, Andreas Färber <afaerber@suse.de> wrote: >> Am 12.08.2013 17:29, schrieb Jan Kiszka: >>> Accesses to unassigned io ports shall return -1 on read and be ignored >>> on write. Ensure these properties via dedicated ops, decoupling us from >>> the memory core's handling of unassigned accesses. >>> >>> Signed-off-by: Jan Kiszka <jan.kiszka@siemens.com> >>> --- >>> >>> Changes in v2: >>> - avoid breakage in ioport.h for user build >> >> Looks OK, but if you want Anthony to apply this for rc3 then please >> repost as a full, top-level series. > > It looks like this never happened, so this bug is still present > in master :-( [noticed by stsquad since integratorcp is busted too]. I suppose the repost just fell through the cracks at the end of the release cycle. Let me re-repost the whole thing, CC'ing stable. Jan -- Siemens AG, Corporate Technology, CT RTC ITP SES-DE Corporate Competence Center Embedded Linux ^ permalink raw reply [flat|nested] 12+ messages in thread
* Re: [Qemu-devel] [PATCH v2 for 1.6 1/2] memory: Provide separate handling of unassigned io ports accesses 2013-09-02 15:56 ` Jan Kiszka @ 2013-09-02 15:58 ` Andreas Färber 2013-09-02 16:02 ` Jan Kiszka 0 siblings, 1 reply; 12+ messages in thread From: Andreas Färber @ 2013-09-02 15:58 UTC (permalink / raw) To: Jan Kiszka; +Cc: Peter Maydell, Anthony Liguori, qemu-devel, Paolo Bonzini Am 02.09.2013 17:56, schrieb Jan Kiszka: > On 2013-09-02 15:52, Peter Maydell wrote: >> On 12 August 2013 16:39, Andreas Färber <afaerber@suse.de> wrote: >>> Am 12.08.2013 17:29, schrieb Jan Kiszka: >>>> Accesses to unassigned io ports shall return -1 on read and be ignored >>>> on write. Ensure these properties via dedicated ops, decoupling us from >>>> the memory core's handling of unassigned accesses. >>>> >>>> Signed-off-by: Jan Kiszka <jan.kiszka@siemens.com> >>>> --- >>>> >>>> Changes in v2: >>>> - avoid breakage in ioport.h for user build >>> >>> Looks OK, but if you want Anthony to apply this for rc3 then please >>> repost as a full, top-level series. >> >> It looks like this never happened, so this bug is still present >> in master :-( [noticed by stsquad since integratorcp is busted too]. > > I suppose the repost just fell through the cracks at the end of the > release cycle. Let me re-repost the whole thing, CC'ing stable. I vaguely remember you reposting 2/2 top-level only and asking Anthony to fix his tool instead, which was quite apparently not helpful. ;) Andreas -- SUSE LINUX Products GmbH, Maxfeldstr. 5, 90409 Nürnberg, Germany GF: Jeff Hawn, Jennifer Guild, Felix Imendörffer; HRB 16746 AG Nürnberg ^ permalink raw reply [flat|nested] 12+ messages in thread
* Re: [Qemu-devel] [PATCH v2 for 1.6 1/2] memory: Provide separate handling of unassigned io ports accesses 2013-09-02 15:58 ` Andreas Färber @ 2013-09-02 16:02 ` Jan Kiszka 0 siblings, 0 replies; 12+ messages in thread From: Jan Kiszka @ 2013-09-02 16:02 UTC (permalink / raw) To: Andreas Färber Cc: Peter Maydell, Anthony Liguori, qemu-devel, Paolo Bonzini On 2013-09-02 17:58, Andreas Färber wrote: > Am 02.09.2013 17:56, schrieb Jan Kiszka: >> On 2013-09-02 15:52, Peter Maydell wrote: >>> On 12 August 2013 16:39, Andreas Färber <afaerber@suse.de> wrote: >>>> Am 12.08.2013 17:29, schrieb Jan Kiszka: >>>>> Accesses to unassigned io ports shall return -1 on read and be ignored >>>>> on write. Ensure these properties via dedicated ops, decoupling us from >>>>> the memory core's handling of unassigned accesses. >>>>> >>>>> Signed-off-by: Jan Kiszka <jan.kiszka@siemens.com> >>>>> --- >>>>> >>>>> Changes in v2: >>>>> - avoid breakage in ioport.h for user build >>>> >>>> Looks OK, but if you want Anthony to apply this for rc3 then please >>>> repost as a full, top-level series. >>> >>> It looks like this never happened, so this bug is still present >>> in master :-( [noticed by stsquad since integratorcp is busted too]. >> >> I suppose the repost just fell through the cracks at the end of the >> release cycle. Let me re-repost the whole thing, CC'ing stable. > > I vaguely remember you reposting 2/2 top-level only and asking Anthony > to fix his tool instead, which was quite apparently not helpful. ;) Well, I wasn't expecting this to happen within the release cycle. But I would still appreciate having to do such thread-breaking updates in the future. Jan -- Siemens AG, Corporate Technology, CT RTC ITP SES-DE Corporate Competence Center Embedded Linux ^ permalink raw reply [flat|nested] 12+ messages in thread
* Re: [Qemu-devel] [PATCH v2 for 1.6 1/2] memory: Provide separate handling of unassigned io ports accesses 2013-08-12 15:29 ` [Qemu-devel] [PATCH v2 " Jan Kiszka 2013-08-12 15:39 ` Andreas Färber @ 2013-08-12 15:41 ` Anthony Liguori 1 sibling, 0 replies; 12+ messages in thread From: Anthony Liguori @ 2013-08-12 15:41 UTC (permalink / raw) To: Jan Kiszka; +Cc: Peter Maydell, Paolo Bonzini, qemu-devel, Andreas Färber Jan Kiszka <jan.kiszka@siemens.com> writes: > Accesses to unassigned io ports shall return -1 on read and be ignored > on write. Ensure these properties via dedicated ops, decoupling us from > the memory core's handling of unassigned accesses. > > Signed-off-by: Jan Kiszka <jan.kiszka@siemens.com> Please top-post. Regards, Anthony Liguori > --- > > Changes in v2: > - avoid breakage in ioport.h for user build > > exec.c | 3 ++- > include/exec/ioport.h | 4 ++++ > ioport.c | 16 ++++++++++++++++ > 3 files changed, 22 insertions(+), 1 deletions(-) > > diff --git a/exec.c b/exec.c > index 3ca9381..9ed598f 100644 > --- a/exec.c > +++ b/exec.c > @@ -1820,7 +1820,8 @@ static void memory_map_init(void) > address_space_init(&address_space_memory, system_memory, "memory"); > > system_io = g_malloc(sizeof(*system_io)); > - memory_region_init(system_io, NULL, "io", 65536); > + memory_region_init_io(system_io, NULL, &unassigned_io_ops, NULL, "io", > + 65536); > address_space_init(&address_space_io, system_io, "I/O"); > > memory_listener_register(&core_memory_listener, &address_space_memory); > diff --git a/include/exec/ioport.h b/include/exec/ioport.h > index bdd4e96..b3848be 100644 > --- a/include/exec/ioport.h > +++ b/include/exec/ioport.h > @@ -45,6 +45,10 @@ typedef struct MemoryRegionPortio { > > #define PORTIO_END_OF_LIST() { } > > +#ifndef CONFIG_USER_ONLY > +extern const MemoryRegionOps unassigned_io_ops; > +#endif > + > void cpu_outb(pio_addr_t addr, uint8_t val); > void cpu_outw(pio_addr_t addr, uint16_t val); > void cpu_outl(pio_addr_t addr, uint32_t val); > diff --git a/ioport.c b/ioport.c > index 79b7f1a..707cce8 100644 > --- a/ioport.c > +++ b/ioport.c > @@ -44,6 +44,22 @@ typedef struct MemoryRegionPortioList { > MemoryRegionPortio ports[]; > } MemoryRegionPortioList; > > +static uint64_t unassigned_io_read(void *opaque, hwaddr addr, unsigned size) > +{ > + return -1ULL; > +} > + > +static void unassigned_io_write(void *opaque, hwaddr addr, uint64_t val, > + unsigned size) > +{ > +} > + > +const MemoryRegionOps unassigned_io_ops = { > + .read = unassigned_io_read, > + .write = unassigned_io_write, > + .endianness = DEVICE_NATIVE_ENDIAN, > +}; > + > void cpu_outb(pio_addr_t addr, uint8_t val) > { > LOG_IOPORT("outb: %04"FMT_pioaddr" %02"PRIx8"\n", addr, val); > -- > 1.7.3.4 ^ permalink raw reply [flat|nested] 12+ messages in thread
* [Qemu-devel] [PATCH for 1.6 2/2] Revert "memory: Return -1 again on reads from unsigned regions" 2013-08-09 12:01 [Qemu-devel] [PATCH for 1.6 0/2] Fix unassigned memory and I/O access handling Jan Kiszka 2013-08-09 12:01 ` [Qemu-devel] [PATCH for 1.6 1/2] memory: Provide separate handling of unassigned io ports accesses Jan Kiszka @ 2013-08-09 12:01 ` Jan Kiszka 2013-08-09 17:33 ` Andreas Färber 1 sibling, 1 reply; 12+ messages in thread From: Jan Kiszka @ 2013-08-09 12:01 UTC (permalink / raw) To: qemu-devel, Anthony Liguori Cc: Paolo Bonzini, Andreas Färber, Peter Maydell This reverts commit 9b8c69243585a32d14b9bb9fcd52c37b0b5a1b71. The commit was wrong: We only return -1 on invalid accesses, not on valid but unbacked ones. This broke various corner cases. Signed-off-by: Jan Kiszka <jan.kiszka@siemens.com> --- memory.c | 2 +- 1 files changed, 1 insertions(+), 1 deletions(-) diff --git a/memory.c b/memory.c index 886f838..5a10fd0 100644 --- a/memory.c +++ b/memory.c @@ -872,7 +872,7 @@ static uint64_t unassigned_mem_read(void *opaque, hwaddr addr, if (current_cpu != NULL) { cpu_unassigned_access(current_cpu, addr, false, false, 0, size); } - return -1ULL; + return 0; } static void unassigned_mem_write(void *opaque, hwaddr addr, -- 1.7.3.4 ^ permalink raw reply related [flat|nested] 12+ messages in thread
* Re: [Qemu-devel] [PATCH for 1.6 2/2] Revert "memory: Return -1 again on reads from unsigned regions" 2013-08-09 12:01 ` [Qemu-devel] [PATCH for 1.6 2/2] Revert "memory: Return -1 again on reads from unsigned regions" Jan Kiszka @ 2013-08-09 17:33 ` Andreas Färber 0 siblings, 0 replies; 12+ messages in thread From: Andreas Färber @ 2013-08-09 17:33 UTC (permalink / raw) To: Jan Kiszka; +Cc: Paolo Bonzini, Anthony Liguori, qemu-devel, Peter Maydell Am 09.08.2013 14:01, schrieb Jan Kiszka: > This reverts commit 9b8c69243585a32d14b9bb9fcd52c37b0b5a1b71. > > The commit was wrong: We only return -1 on invalid accesses, not on > valid but unbacked ones. This broke various corner cases. > > Signed-off-by: Jan Kiszka <jan.kiszka@siemens.com> Tested-by: Andreas Färber <andreas.faerber@web.de> Restores previous PReP behavior. Thanks, Andreas ^ permalink raw reply [flat|nested] 12+ messages in thread
end of thread, other threads:[~2013-09-02 16:03 UTC | newest] Thread overview: 12+ messages (download: mbox.gz / follow: Atom feed) -- links below jump to the message on this page -- 2013-08-09 12:01 [Qemu-devel] [PATCH for 1.6 0/2] Fix unassigned memory and I/O access handling Jan Kiszka 2013-08-09 12:01 ` [Qemu-devel] [PATCH for 1.6 1/2] memory: Provide separate handling of unassigned io ports accesses Jan Kiszka 2013-08-12 14:34 ` Anthony Liguori 2013-08-12 15:29 ` [Qemu-devel] [PATCH v2 " Jan Kiszka 2013-08-12 15:39 ` Andreas Färber 2013-09-02 13:52 ` Peter Maydell 2013-09-02 15:56 ` Jan Kiszka 2013-09-02 15:58 ` Andreas Färber 2013-09-02 16:02 ` Jan Kiszka 2013-08-12 15:41 ` Anthony Liguori 2013-08-09 12:01 ` [Qemu-devel] [PATCH for 1.6 2/2] Revert "memory: Return -1 again on reads from unsigned regions" Jan Kiszka 2013-08-09 17:33 ` Andreas Färber
This is an external index of several public inboxes, see mirroring instructions on how to clone and mirror all data and code used by this external index.