mbox series

[v1,0/2] target/microblaze: Add properties to enable exceptions on failed bus accesses

Message ID 20190104142812.20444-1-edgar.iglesias@gmail.com
Headers show
Series target/microblaze: Add properties to enable exceptions on failed bus accesses | expand

Message

Edgar E. Iglesias Jan. 4, 2019, 2:28 p.m. UTC
From: "Edgar E. Iglesias" <edgar.iglesias@xilinx.com>

This adds the necessary properties to MicroBlaze cores to enable exceptions
on failed bus accesses. There's no board that acutally uses this yet.

This also adds an unimplemented device to the s3adsp1800 board since I used
that board to test this feature. The s3adsp1800 does not enable the exceptions
by default though, so they remain off.

Cheers,
Edgar

Edgar E. Iglesias (2):
  hw/microblaze: s3adsp1800: Create an unimplemented GPIO area
  target/microblaze: Add props enabling exceptions on failed bus
    accesses

 hw/microblaze/petalogix_s3adsp1800_mmu.c |  4 ++++
 target/microblaze/cpu.c                  | 12 +++++++++++-
 target/microblaze/cpu.h                  |  2 ++
 3 files changed, 17 insertions(+), 1 deletion(-)

Comments

Luc Michel Jan. 7, 2019, 8:44 a.m. UTC | #1
On 1/4/19 3:28 PM, Edgar E. Iglesias wrote:
> From: "Edgar E. Iglesias" <edgar.iglesias@xilinx.com>
> 
> Create an unimplemented GPIO area instead of leaving it unassigned.
> 
> Signed-off-by: Edgar E. Iglesias <edgar.iglesias@xilinx.com>
Reviewed-by: Luc Michel <luc.michel@greensocs.com>

> ---
>  hw/microblaze/petalogix_s3adsp1800_mmu.c | 4 ++++
>  1 file changed, 4 insertions(+)
> 
> diff --git a/hw/microblaze/petalogix_s3adsp1800_mmu.c b/hw/microblaze/petalogix_s3adsp1800_mmu.c
> index 5cf7b84c79..b9f0b0d06e 100644
> --- a/hw/microblaze/petalogix_s3adsp1800_mmu.c
> +++ b/hw/microblaze/petalogix_s3adsp1800_mmu.c
> @@ -35,6 +35,7 @@
>  #include "sysemu/sysemu.h"
>  #include "hw/devices.h"
>  #include "hw/boards.h"
> +#include "hw/misc/unimp.h"
>  #include "exec/address-spaces.h"
>  #include "hw/char/xilinx_uartlite.h"
>  
> @@ -47,6 +48,7 @@
>  
>  #define MEMORY_BASEADDR 0x90000000
>  #define FLASH_BASEADDR 0xa0000000
> +#define GPIO_BASEADDR 0x81400000
>  #define INTC_BASEADDR 0x81800000
>  #define TIMER_BASEADDR 0x83c00000
>  #define UARTLITE_BASEADDR 0x84000000
> @@ -122,6 +124,8 @@ petalogix_s3adsp1800_init(MachineState *machine)
>      sysbus_mmio_map(SYS_BUS_DEVICE(dev), 0, ETHLITE_BASEADDR);
>      sysbus_connect_irq(SYS_BUS_DEVICE(dev), 0, irq[ETHLITE_IRQ]);
>  
> +    create_unimplemented_device("gpio", GPIO_BASEADDR, 0x10000);
> +
>      microblaze_load_kernel(cpu, ddr_base, ram_size,
>                             machine->initrd_filename,
>                             BINARY_DEVICE_TREE_FILE,
>