qemu-devel.nongnu.org archive mirror
 help / color / mirror / Atom feed
* [PULL v1 0/8] Xilinx queue 2020-08-14
@ 2020-08-24 10:00 Edgar E. Iglesias
  2020-08-24 10:00 ` [PULL v1 1/8] target/microblaze: mbar: Transfer dc->rd to mbar_imm Edgar E. Iglesias
                   ` (8 more replies)
  0 siblings, 9 replies; 10+ messages in thread
From: Edgar E. Iglesias @ 2020-08-24 10:00 UTC (permalink / raw)
  To: qemu-devel; +Cc: edgar.iglesias, peter.maydell

From: "Edgar E. Iglesias" <edgar.iglesias@xilinx.com>

The following changes since commit 8367a77c4d3f6e1e60890f5510304feb2c621611:

  Merge remote-tracking branch 'remotes/vivier2/tags/linux-user-for-5.2-pull-request' into staging (2020-08-23 16:34:43 +0100)

are available in the Git repository at:

  git@github.com:edgarigl/qemu.git tags/edgar/xilinx-next-2020-08-24.for-upstream

for you to fetch changes up to 43f4e3d4fa2f9dba6bd68452a3380864ad9453c1:

  microblaze: petalogix-s3adsp1800: Add device-tree source (2020-08-24 10:47:27 +0200)

----------------------------------------------------------------
For upstream.

----------------------------------------------------------------
Edgar E. Iglesias (8):
      target/microblaze: mbar: Transfer dc->rd to mbar_imm
      target/microblaze: mbar: Move LOG_DIS to before sleep
      target/microblaze: mbar: Add support for data-access barriers
      target/microblaze: swx: Use atomic_cmpxchg
      configure: microblaze: Enable mttcg
      target/microblaze: mbar: Trap sleeps from user-space
      microblaze: petalogix-ml605: Add device-tree source
      microblaze: petalogix-s3adsp1800: Add device-tree source

 configure                        |   1 +
 target/microblaze/translate.c    |  38 +++--
 pc-bios/petalogix-ml605.dtb      | Bin 9982 -> 9882 bytes
 pc-bios/petalogix-ml605.dts      | 350 +++++++++++++++++++++++++++++++++++++++
 pc-bios/petalogix-s3adsp1800.dtb | Bin 8259 -> 8161 bytes
 pc-bios/petalogix-s3adsp1800.dts | 282 +++++++++++++++++++++++++++++++
 6 files changed, 661 insertions(+), 10 deletions(-)
 create mode 100644 pc-bios/petalogix-ml605.dts
 create mode 100644 pc-bios/petalogix-s3adsp1800.dts

-- 
2.25.1



^ permalink raw reply	[flat|nested] 10+ messages in thread

* [PULL v1 1/8] target/microblaze: mbar: Transfer dc->rd to mbar_imm
  2020-08-24 10:00 [PULL v1 0/8] Xilinx queue 2020-08-14 Edgar E. Iglesias
@ 2020-08-24 10:00 ` Edgar E. Iglesias
  2020-08-24 10:00 ` [PULL v1 2/8] target/microblaze: mbar: Move LOG_DIS to before sleep Edgar E. Iglesias
                   ` (7 subsequent siblings)
  8 siblings, 0 replies; 10+ messages in thread
From: Edgar E. Iglesias @ 2020-08-24 10:00 UTC (permalink / raw)
  To: qemu-devel; +Cc: edgar.iglesias, peter.maydell

From: "Edgar E. Iglesias" <edgar.iglesias@xilinx.com>

Transfer dc->rd to mbar_imm to improve the readability when
comparing to the specs.

No functional change.

Reviewed-by: Richard Henderson <richard.henderson@linaro.org>
Reviewed-by: Alistair Francis <alistair.francis@wdc.com>
Signed-off-by: Edgar E. Iglesias <edgar.iglesias@xilinx.com>
---
 target/microblaze/translate.c | 6 ++++--
 1 file changed, 4 insertions(+), 2 deletions(-)

diff --git a/target/microblaze/translate.c b/target/microblaze/translate.c
index f6ff2591c3..47637f152b 100644
--- a/target/microblaze/translate.c
+++ b/target/microblaze/translate.c
@@ -1229,8 +1229,10 @@ static void dec_br(DisasContext *dc)
     /* Memory barrier.  */
     mbar = (dc->ir >> 16) & 31;
     if (mbar == 2 && dc->imm == 4) {
+        uint16_t mbar_imm = dc->rd;
+
         /* mbar IMM & 16 decodes to sleep.  */
-        if (dc->rd & 16) {
+        if (mbar_imm & 16) {
             TCGv_i32 tmp_hlt = tcg_const_i32(EXCP_HLT);
             TCGv_i32 tmp_1 = tcg_const_i32(1);
 
@@ -1246,7 +1248,7 @@ static void dec_br(DisasContext *dc)
             tcg_temp_free_i32(tmp_1);
             return;
         }
-        LOG_DIS("mbar %d\n", dc->rd);
+        LOG_DIS("mbar %d\n", mbar_imm);
         /* Break the TB.  */
         dc->cpustate_changed = 1;
         return;
-- 
2.25.1



^ permalink raw reply related	[flat|nested] 10+ messages in thread

* [PULL v1 2/8] target/microblaze: mbar: Move LOG_DIS to before sleep
  2020-08-24 10:00 [PULL v1 0/8] Xilinx queue 2020-08-14 Edgar E. Iglesias
  2020-08-24 10:00 ` [PULL v1 1/8] target/microblaze: mbar: Transfer dc->rd to mbar_imm Edgar E. Iglesias
@ 2020-08-24 10:00 ` Edgar E. Iglesias
  2020-08-24 10:00 ` [PULL v1 3/8] target/microblaze: mbar: Add support for data-access barriers Edgar E. Iglesias
                   ` (6 subsequent siblings)
  8 siblings, 0 replies; 10+ messages in thread
From: Edgar E. Iglesias @ 2020-08-24 10:00 UTC (permalink / raw)
  To: qemu-devel; +Cc: edgar.iglesias, peter.maydell

From: "Edgar E. Iglesias" <edgar.iglesias@xilinx.com>

Move LOG_DIS log to before sleeping handling so that it logs
for sleep instructions aswell.

Reviewed-by: Richard Henderson <richard.henderson@linaro.org>
Reviewed-by: Alistair Francis <alistair.francis@wdc.com>
Signed-off-by: Edgar E. Iglesias <edgar.iglesias@xilinx.com>
---
 target/microblaze/translate.c | 3 ++-
 1 file changed, 2 insertions(+), 1 deletion(-)

diff --git a/target/microblaze/translate.c b/target/microblaze/translate.c
index 47637f152b..c1be76d4c8 100644
--- a/target/microblaze/translate.c
+++ b/target/microblaze/translate.c
@@ -1231,6 +1231,8 @@ static void dec_br(DisasContext *dc)
     if (mbar == 2 && dc->imm == 4) {
         uint16_t mbar_imm = dc->rd;
 
+        LOG_DIS("mbar %d\n", mbar_imm);
+
         /* mbar IMM & 16 decodes to sleep.  */
         if (mbar_imm & 16) {
             TCGv_i32 tmp_hlt = tcg_const_i32(EXCP_HLT);
@@ -1248,7 +1250,6 @@ static void dec_br(DisasContext *dc)
             tcg_temp_free_i32(tmp_1);
             return;
         }
-        LOG_DIS("mbar %d\n", mbar_imm);
         /* Break the TB.  */
         dc->cpustate_changed = 1;
         return;
-- 
2.25.1



^ permalink raw reply related	[flat|nested] 10+ messages in thread

* [PULL v1 3/8] target/microblaze: mbar: Add support for data-access barriers
  2020-08-24 10:00 [PULL v1 0/8] Xilinx queue 2020-08-14 Edgar E. Iglesias
  2020-08-24 10:00 ` [PULL v1 1/8] target/microblaze: mbar: Transfer dc->rd to mbar_imm Edgar E. Iglesias
  2020-08-24 10:00 ` [PULL v1 2/8] target/microblaze: mbar: Move LOG_DIS to before sleep Edgar E. Iglesias
@ 2020-08-24 10:00 ` Edgar E. Iglesias
  2020-08-24 10:00 ` [PULL v1 4/8] target/microblaze: swx: Use atomic_cmpxchg Edgar E. Iglesias
                   ` (5 subsequent siblings)
  8 siblings, 0 replies; 10+ messages in thread
From: Edgar E. Iglesias @ 2020-08-24 10:00 UTC (permalink / raw)
  To: qemu-devel; +Cc: edgar.iglesias, peter.maydell

From: "Edgar E. Iglesias" <edgar.iglesias@xilinx.com>

Add support for data-access barriers.

Reviewed-by: Richard Henderson <richard.henderson@linaro.org>
Reviewed-by: Alistair Francis <alistair.francis@wdc.com>
Signed-off-by: Edgar E. Iglesias <edgar.iglesias@xilinx.com>
---
 target/microblaze/translate.c | 5 +++++
 1 file changed, 5 insertions(+)

diff --git a/target/microblaze/translate.c b/target/microblaze/translate.c
index c1be76d4c8..c58f334a0f 100644
--- a/target/microblaze/translate.c
+++ b/target/microblaze/translate.c
@@ -1233,6 +1233,11 @@ static void dec_br(DisasContext *dc)
 
         LOG_DIS("mbar %d\n", mbar_imm);
 
+        /* Data access memory barrier.  */
+        if ((mbar_imm & 2) == 0) {
+            tcg_gen_mb(TCG_BAR_SC | TCG_MO_ALL);
+        }
+
         /* mbar IMM & 16 decodes to sleep.  */
         if (mbar_imm & 16) {
             TCGv_i32 tmp_hlt = tcg_const_i32(EXCP_HLT);
-- 
2.25.1



^ permalink raw reply related	[flat|nested] 10+ messages in thread

* [PULL v1 4/8] target/microblaze: swx: Use atomic_cmpxchg
  2020-08-24 10:00 [PULL v1 0/8] Xilinx queue 2020-08-14 Edgar E. Iglesias
                   ` (2 preceding siblings ...)
  2020-08-24 10:00 ` [PULL v1 3/8] target/microblaze: mbar: Add support for data-access barriers Edgar E. Iglesias
@ 2020-08-24 10:00 ` Edgar E. Iglesias
  2020-08-24 10:00 ` [PULL v1 5/8] configure: microblaze: Enable mttcg Edgar E. Iglesias
                   ` (4 subsequent siblings)
  8 siblings, 0 replies; 10+ messages in thread
From: Edgar E. Iglesias @ 2020-08-24 10:00 UTC (permalink / raw)
  To: qemu-devel; +Cc: edgar.iglesias, peter.maydell

From: "Edgar E. Iglesias" <edgar.iglesias@xilinx.com>

Use atomic_cmpxchg to implement the atomic cmpxchg sequence.

Reviewed-by: Richard Henderson <richard.henderson@linaro.org>
Reviewed-by: Alistair Francis <alistair.francis@wdc.com>
Signed-off-by: Edgar E. Iglesias <edgar.iglesias@xilinx.com>
---
 target/microblaze/translate.c | 21 +++++++++++++--------
 1 file changed, 13 insertions(+), 8 deletions(-)

diff --git a/target/microblaze/translate.c b/target/microblaze/translate.c
index c58f334a0f..530c15e5ad 100644
--- a/target/microblaze/translate.c
+++ b/target/microblaze/translate.c
@@ -1075,14 +1075,16 @@ static void dec_store(DisasContext *dc)
         swx_skip = gen_new_label();
         tcg_gen_brcond_tl(TCG_COND_NE, env_res_addr, addr, swx_skip);
 
-        /* Compare the value loaded at lwx with current contents of
-           the reserved location.
-           FIXME: This only works for system emulation where we can expect
-           this compare and the following write to be atomic. For user
-           emulation we need to add atomicity between threads.  */
+        /*
+         * Compare the value loaded at lwx with current contents of
+         * the reserved location.
+         */
         tval = tcg_temp_new_i32();
-        tcg_gen_qemu_ld_i32(tval, addr, cpu_mmu_index(&dc->cpu->env, false),
-                            MO_TEUL);
+
+        tcg_gen_atomic_cmpxchg_i32(tval, addr, env_res_val,
+                                   cpu_R[dc->rd], mem_index,
+                                   mop);
+
         tcg_gen_brcond_i32(TCG_COND_NE, env_res_val, tval, swx_skip);
         write_carryi(dc, 0);
         tcg_temp_free_i32(tval);
@@ -1108,7 +1110,10 @@ static void dec_store(DisasContext *dc)
                 break;
         }
     }
-    tcg_gen_qemu_st_i32(cpu_R[dc->rd], addr, mem_index, mop);
+
+    if (!ex) {
+        tcg_gen_qemu_st_i32(cpu_R[dc->rd], addr, mem_index, mop);
+    }
 
     /* Verify alignment if needed.  */
     if (dc->cpu->cfg.unaligned_exceptions && size > 1) {
-- 
2.25.1



^ permalink raw reply related	[flat|nested] 10+ messages in thread

* [PULL v1 5/8] configure: microblaze: Enable mttcg
  2020-08-24 10:00 [PULL v1 0/8] Xilinx queue 2020-08-14 Edgar E. Iglesias
                   ` (3 preceding siblings ...)
  2020-08-24 10:00 ` [PULL v1 4/8] target/microblaze: swx: Use atomic_cmpxchg Edgar E. Iglesias
@ 2020-08-24 10:00 ` Edgar E. Iglesias
  2020-08-24 10:00 ` [PULL v1 6/8] target/microblaze: mbar: Trap sleeps from user-space Edgar E. Iglesias
                   ` (3 subsequent siblings)
  8 siblings, 0 replies; 10+ messages in thread
From: Edgar E. Iglesias @ 2020-08-24 10:00 UTC (permalink / raw)
  To: qemu-devel; +Cc: edgar.iglesias, peter.maydell

From: "Edgar E. Iglesias" <edgar.iglesias@xilinx.com>

Reviewed-by: Alistair Francis <alistair.francis@wdc.com>
Signed-off-by: Edgar E. Iglesias <edgar.iglesias@xilinx.com>
---
 configure | 1 +
 1 file changed, 1 insertion(+)

diff --git a/configure b/configure
index 67832e3bab..b8f5b81a67 100755
--- a/configure
+++ b/configure
@@ -7782,6 +7782,7 @@ case "$target_name" in
   microblaze|microblazeel)
     TARGET_ARCH=microblaze
     TARGET_SYSTBL_ABI=common
+    mttcg="yes"
     bflt="yes"
     echo "TARGET_ABI32=y" >> $config_target_mak
   ;;
-- 
2.25.1



^ permalink raw reply related	[flat|nested] 10+ messages in thread

* [PULL v1 6/8] target/microblaze: mbar: Trap sleeps from user-space
  2020-08-24 10:00 [PULL v1 0/8] Xilinx queue 2020-08-14 Edgar E. Iglesias
                   ` (4 preceding siblings ...)
  2020-08-24 10:00 ` [PULL v1 5/8] configure: microblaze: Enable mttcg Edgar E. Iglesias
@ 2020-08-24 10:00 ` Edgar E. Iglesias
  2020-08-24 10:00 ` [PULL v1 7/8] microblaze: petalogix-ml605: Add device-tree source Edgar E. Iglesias
                   ` (2 subsequent siblings)
  8 siblings, 0 replies; 10+ messages in thread
From: Edgar E. Iglesias @ 2020-08-24 10:00 UTC (permalink / raw)
  To: qemu-devel; +Cc: edgar.iglesias, peter.maydell

From: "Edgar E. Iglesias" <edgar.iglesias@xilinx.com>

Trap mbar-sleeps from user-space.

Reviewed-by: Richard Henderson <richard.henderson@linaro.org>
Reported-by: Richard Henderson <richard.henderson@linaro.org>
Signed-off-by: Edgar E. Iglesias <edgar.iglesias@xilinx.com>
---
 target/microblaze/translate.c | 5 +++++
 1 file changed, 5 insertions(+)

diff --git a/target/microblaze/translate.c b/target/microblaze/translate.c
index 530c15e5ad..a96cb21d96 100644
--- a/target/microblaze/translate.c
+++ b/target/microblaze/translate.c
@@ -1250,6 +1250,11 @@ static void dec_br(DisasContext *dc)
 
             LOG_DIS("sleep\n");
 
+            if (trap_userspace(dc, true)) {
+                /* Sleep is a privileged instruction.  */
+                return;
+            }
+
             t_sync_flags(dc);
             tcg_gen_st_i32(tmp_1, cpu_env,
                            -offsetof(MicroBlazeCPU, env)
-- 
2.25.1



^ permalink raw reply related	[flat|nested] 10+ messages in thread

* [PULL v1 7/8] microblaze: petalogix-ml605: Add device-tree source
  2020-08-24 10:00 [PULL v1 0/8] Xilinx queue 2020-08-14 Edgar E. Iglesias
                   ` (5 preceding siblings ...)
  2020-08-24 10:00 ` [PULL v1 6/8] target/microblaze: mbar: Trap sleeps from user-space Edgar E. Iglesias
@ 2020-08-24 10:00 ` Edgar E. Iglesias
  2020-08-24 10:00 ` [PULL v1 8/8] microblaze: petalogix-s3adsp1800: " Edgar E. Iglesias
  2020-08-24 15:32 ` [PULL v1 0/8] Xilinx queue 2020-08-14 Peter Maydell
  8 siblings, 0 replies; 10+ messages in thread
From: Edgar E. Iglesias @ 2020-08-24 10:00 UTC (permalink / raw)
  To: qemu-devel; +Cc: edgar.iglesias, peter.maydell

From: "Edgar E. Iglesias" <edgar.iglesias@xilinx.com>

Add a device-tree source for petalogix-ml605 and recompile
the DTB.

Reviewed-by: Philippe Mathieu-Daudé <f4bug@amsat.org>
Acked-by: Alistair Francis <alistair.francis@wdc.com>
Signed-off-by: Edgar E. Iglesias <edgar.iglesias@xilinx.com>
---
 pc-bios/petalogix-ml605.dtb | Bin 9982 -> 9882 bytes
 pc-bios/petalogix-ml605.dts | 350 ++++++++++++++++++++++++++++++++++++
 2 files changed, 350 insertions(+)
 create mode 100644 pc-bios/petalogix-ml605.dts

diff --git a/pc-bios/petalogix-ml605.dtb b/pc-bios/petalogix-ml605.dtb
index fbbd45fdad06489c6333b6de868f44dfaed405bf..9a05434db7f622d1b598d2cf1415c867cf7f5cc6 100644
GIT binary patch
literal 9882
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
P8Y(N=^pc>DYv+Ffk0I_w

literal 9982
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

diff --git a/pc-bios/petalogix-ml605.dts b/pc-bios/petalogix-ml605.dts
new file mode 100644
index 0000000000..b307a29279
--- /dev/null
+++ b/pc-bios/petalogix-ml605.dts
@@ -0,0 +1,350 @@
+/*
+ * Copyright (c) 2020 Xilinx Inc.
+ * Written by Edgar E. Iglesias <edgar.iglesias@xilinx.com>.
+ *
+ * SPDX-License-Identifier:     GPL-2.0+
+ */
+
+/dts-v1/;
+
+/ {
+	#address-cells = < 0x01 >;
+	#size-cells = < 0x01 >;
+	compatible = "xlnx,microblaze";
+	model = "edk131";
+
+	memory@50000000 {
+		device_type = "memory";
+		reg = < 0x50000000 0x10000000 >;
+	};
+
+	aliases {
+		ethernet0 = "/axi/axi-ethernet@82780000";
+		serial0 = "/axi/serial@83e00000";
+	};
+
+	chosen {
+		bootargs = " console=ttyS0,115200 ";
+		stdout-path = "/axi/serial@83e00000";
+	};
+
+	cpus {
+		#address-cells = < 0x01 >;
+		#cpus = < 0x01 >;
+		#size-cells = < 0x00 >;
+
+		cpu@0 {
+			clock-frequency = < 0xbebc200 >;
+			compatible = "xlnx,microblaze-8.10.a";
+			d-cache-baseaddr = < 0x50000000 >;
+			d-cache-highaddr = < 0x5fffffff >;
+			d-cache-line-size = < 0x20 >;
+			d-cache-size = < 0x800 >;
+			device_type = "cpu";
+			i-cache-baseaddr = < 0x50000000 >;
+			i-cache-highaddr = < 0x5fffffff >;
+			i-cache-line-size = < 0x20 >;
+			i-cache-size = < 0x800 >;
+			model = "microblaze,8.10.a";
+			reg = < 0x00 >;
+			timebase-frequency = < 0xbebc200 >;
+			xlnx,addr-tag-bits = < 0x11 >;
+			xlnx,allow-dcache-wr = < 0x01 >;
+			xlnx,allow-icache-wr = < 0x01 >;
+			xlnx,area-optimized = < 0x00 >;
+			xlnx,branch-target-cache-size = < 0x00 >;
+			xlnx,cache-byte-size = < 0x800 >;
+			xlnx,d-axi = < 0x01 >;
+			xlnx,d-lmb = < 0x01 >;
+			xlnx,d-plb = < 0x00 >;
+			xlnx,data-size = < 0x20 >;
+			xlnx,dcache-addr-tag = < 0x11 >;
+			xlnx,dcache-always-used = < 0x01 >;
+			xlnx,dcache-byte-size = < 0x800 >;
+			xlnx,dcache-data-width = < 0x00 >;
+			xlnx,dcache-force-tag-lutram = < 0x00 >;
+			xlnx,dcache-interface = < 0x01 >;
+			xlnx,dcache-line-len = < 0x08 >;
+			xlnx,dcache-use-fsl = < 0x00 >;
+			xlnx,dcache-use-writeback = < 0x01 >;
+			xlnx,dcache-victims = < 0x00 >;
+			xlnx,debug-enabled = < 0x01 >;
+			xlnx,div-zero-exception = < 0x01 >;
+			xlnx,dynamic-bus-sizing = < 0x01 >;
+			xlnx,ecc-use-ce-exception = < 0x00 >;
+			xlnx,edge-is-positive = < 0x01 >;
+			xlnx,endianness = < 0x01 >;
+			xlnx,family = "virtex6";
+			xlnx,fault-tolerant = < 0x00 >;
+			xlnx,fpu-exception = < 0x01 >;
+			xlnx,freq = < 0xbebc200 >;
+			xlnx,fsl-data-size = < 0x20 >;
+			xlnx,fsl-exception = < 0x00 >;
+			xlnx,fsl-links = < 0x00 >;
+			xlnx,i-axi = < 0x01 >;
+			xlnx,i-lmb = < 0x01 >;
+			xlnx,i-plb = < 0x00 >;
+			xlnx,icache-always-used = < 0x01 >;
+			xlnx,icache-data-width = < 0x00 >;
+			xlnx,icache-force-tag-lutram = < 0x00 >;
+			xlnx,icache-interface = < 0x00 >;
+			xlnx,icache-line-len = < 0x08 >;
+			xlnx,icache-streams = < 0x00 >;
+			xlnx,icache-use-fsl = < 0x00 >;
+			xlnx,icache-victims = < 0x00 >;
+			xlnx,ill-opcode-exception = < 0x01 >;
+			xlnx,instance = "microblaze_0";
+			xlnx,interconnect = < 0x02 >;
+			xlnx,interrupt-is-edge = < 0x00 >;
+			xlnx,mmu-dtlb-size = < 0x04 >;
+			xlnx,mmu-itlb-size = < 0x02 >;
+			xlnx,mmu-privileged-instr = < 0x00 >;
+			xlnx,mmu-tlb-access = < 0x03 >;
+			xlnx,mmu-zones = < 0x02 >;
+			xlnx,number-of-pc-brk = < 0x01 >;
+			xlnx,number-of-rd-addr-brk = < 0x00 >;
+			xlnx,number-of-wr-addr-brk = < 0x00 >;
+			xlnx,opcode-0x0-illegal = < 0x01 >;
+			xlnx,optimization = < 0x00 >;
+			xlnx,pvr = < 0x02 >;
+			xlnx,pvr-user1 = < 0x00 >;
+			xlnx,pvr-user2 = < 0x00 >;
+			xlnx,reset-msr = < 0x00 >;
+			xlnx,sco = < 0x00 >;
+			xlnx,stream-interconnect = < 0x00 >;
+			xlnx,unaligned-exceptions = < 0x01 >;
+			xlnx,use-barrel = < 0x01 >;
+			xlnx,use-branch-target-cache = < 0x00 >;
+			xlnx,use-dcache = < 0x01 >;
+			xlnx,use-div = < 0x01 >;
+			xlnx,use-ext-brk = < 0x01 >;
+			xlnx,use-ext-nm-brk = < 0x01 >;
+			xlnx,use-extended-fsl-instr = < 0x00 >;
+			xlnx,use-fpu = < 0x01 >;
+			xlnx,use-hw-mul = < 0x02 >;
+			xlnx,use-icache = < 0x01 >;
+			xlnx,use-interrupt = < 0x01 >;
+			xlnx,use-mmu = < 0x03 >;
+			xlnx,use-msr-instr = < 0x01 >;
+			xlnx,use-pcmp-instr = < 0x01 >;
+			xlnx,use-stack-protection = < 0x00 >;
+		};
+	};
+
+	axi {
+		#address-cells = < 0x01 >;
+		#size-cells = < 0x01 >;
+		compatible = "xlnx,axi-interconnect-1.02.a\0simple-bus";
+		ranges;
+
+		axi-ethernet@82780000 {
+			axistream-connected = < &axi_dma >;
+			compatible = "xlnx,axi-ethernet-2.01.a\0xlnx,axi-ethernet-1.00.a";
+			device_type = "network";
+			interrupt-parent = < &intc >;
+			interrupts = < 0x03 0x02 >;
+			local-mac-address = [ 00 0a 35 00 22 01 ];
+			phy-handle = < &phy7 >;
+			reg = < 0x82780000 0x40000 >;
+			xlnx,avb = < 0x00 >;
+			xlnx,halfdup = < 0x00 >;
+			xlnx,include-io = < 0x01 >;
+			xlnx,mcast-extend = < 0x00 >;
+			xlnx,phy-type = < 0x01 >;
+			xlnx,phyaddr = "0B00001";
+			xlnx,rxcsum = < 0x00 >;
+			xlnx,rxmem = < 0x1000 >;
+			xlnx,rxvlan-strp = < 0x00 >;
+			xlnx,rxvlan-tag = < 0x00 >;
+			xlnx,rxvlan-tran = < 0x00 >;
+			xlnx,stats = < 0x00 >;
+			xlnx,txcsum = < 0x00 >;
+			xlnx,txmem = < 0x1000 >;
+			xlnx,txvlan-strp = < 0x00 >;
+			xlnx,txvlan-tag = < 0x00 >;
+			xlnx,txvlan-tran = < 0x00 >;
+			xlnx,type = < 0x02 >;
+
+			mdio {
+				#address-cells = < 0x01 >;
+				#size-cells = < 0x00 >;
+
+				phy7: phy@7 {
+					compatible = "marvell,88e1111";
+					device_type = "ethernet-phy";
+					reg = < 0x07 >;
+				};
+			};
+		};
+
+		axi_dma: axi-dma@84600000 {
+			compatible = "xlnx,axi-dma-3.00.a";
+			interrupt-parent = < &intc >;
+			interrupts = < 0x01 0x02 0x00 0x02 >;
+			reg = < 0x84600000 0x10000 >;
+			xlnx,dlytmr-resolution = < 0x4e2 >;
+			xlnx,family = "virtex6";
+			xlnx,include-mm2s = < 0x01 >;
+			xlnx,include-mm2s-dre = < 0x01 >;
+			xlnx,include-s2mm = < 0x01 >;
+			xlnx,include-s2mm-dre = < 0x01 >;
+			xlnx,mm2s-burst-size = < 0x10 >;
+			xlnx,prmry-is-aclk-async = < 0x00 >;
+			xlnx,s2mm-burst-size = < 0x10 >;
+			xlnx,sg-include-desc-queue = < 0x01 >;
+			xlnx,sg-include-stscntrl-strm = < 0x01 >;
+			xlnx,sg-length-width = < 0x10 >;
+			xlnx,sg-use-stsapp-length = < 0x01 >;
+		};
+
+		serial@83e00000 {
+			clock-frequency = < 0x5f5e100 >;
+			compatible = "xlnx,axi-uart16550-1.01.a\0xlnx,xps-uart16550-2.00.a\0ns16550a";
+			current-speed = < 0x2580 >;
+			device_type = "serial";
+			interrupt-parent = < &intc >;
+			interrupts = < 0x05 0x02 >;
+			reg = < 0x83e00000 0x10000 >;
+			reg-offset = < 0x1000 >;
+			reg-shift = < 0x02 >;
+			xlnx,external-xin-clk-hz = < 0x17d7840 >;
+			xlnx,family = "virtex6";
+			xlnx,has-external-rclk = < 0x00 >;
+			xlnx,has-external-xin = < 0x00 >;
+			xlnx,is-a-16550 = < 0x01 >;
+			xlnx,use-modem-ports = < 0x00 >;
+			xlnx,use-user-ports = < 0x00 >;
+		};
+
+		system-timer@83c00000 {
+			clock-frequency = < 0x5f5e100 >;
+			compatible = "xlnx,axi-timer-1.01.a\0xlnx,xps-timer-1.00.a";
+			interrupt-parent = < &intc >;
+			interrupts = < 0x02 0x00 >;
+			reg = < 0x83c00000 0x10000 >;
+			xlnx,count-width = < 0x20 >;
+			xlnx,family = "virtex6";
+			xlnx,gen0-assert = < 0x01 >;
+			xlnx,gen1-assert = < 0x01 >;
+			xlnx,one-timer-only = < 0x00 >;
+			xlnx,trig0-assert = < 0x01 >;
+			xlnx,trig1-assert = < 0x01 >;
+		};
+
+		intc: interrupt-controller@81800000 {
+			#interrupt-cells = < 0x02 >;
+			compatible = "xlnx,axi-intc-1.01.a\0xlnx,xps-intc-1.00.a";
+			interrupt-controller;
+			reg = < 0x81800000 0x10000 >;
+			xlnx,kind-of-intr = < 0x04 >;
+			xlnx,num-intr-inputs = < 0x06 >;
+		};
+
+		flash@86000000 {
+			#address-cells = < 0x01 >;
+			#size-cells = < 0x01 >;
+			bank-width = < 0x02 >;
+			compatible = "xlnx,axi-emc-1.01.a\0cfi-flash";
+			reg = < 0x86000000 0x2000000 >;
+			xlnx,axi-clk-period-ps = < 0x2710 >;
+			xlnx,family = "virtex6";
+			xlnx,include-datawidth-matching-0 = < 0x01 >;
+			xlnx,include-datawidth-matching-1 = < 0x00 >;
+			xlnx,include-datawidth-matching-2 = < 0x00 >;
+			xlnx,include-datawidth-matching-3 = < 0x00 >;
+			xlnx,include-negedge-ioregs = < 0x00 >;
+			xlnx,max-mem-width = < 0x10 >;
+			xlnx,mem0-type = < 0x02 >;
+			xlnx,mem0-width = < 0x10 >;
+			xlnx,mem1-type = < 0x00 >;
+			xlnx,mem1-width = < 0x20 >;
+			xlnx,mem2-type = < 0x00 >;
+			xlnx,mem2-width = < 0x20 >;
+			xlnx,mem3-type = < 0x00 >;
+			xlnx,mem3-width = < 0x20 >;
+			xlnx,num-banks-mem = < 0x01 >;
+			xlnx,parity-type-mem-0 = < 0x00 >;
+			xlnx,parity-type-mem-1 = < 0x00 >;
+			xlnx,parity-type-mem-2 = < 0x00 >;
+			xlnx,parity-type-mem-3 = < 0x00 >;
+			xlnx,s-axi-en-reg = < 0x00 >;
+			xlnx,s-axi-mem-addr-width = < 0x20 >;
+			xlnx,s-axi-mem-data-width = < 0x20 >;
+			xlnx,s-axi-mem-id-width = < 0x01 >;
+			xlnx,s-axi-mem-protocol = "AXI4LITE";
+			xlnx,s-axi-reg-addr-width = < 0x20 >;
+			xlnx,s-axi-reg-data-width = < 0x20 >;
+			xlnx,s-axi-reg-protocol = "axi4";
+			xlnx,synch-pipedelay-0 = < 0x02 >;
+			xlnx,synch-pipedelay-1 = < 0x02 >;
+			xlnx,synch-pipedelay-2 = < 0x02 >;
+			xlnx,synch-pipedelay-3 = < 0x02 >;
+			xlnx,tavdv-ps-mem-0 = < 0x1fbd0 >;
+			xlnx,tavdv-ps-mem-1 = < 0x3a98 >;
+			xlnx,tavdv-ps-mem-2 = < 0x3a98 >;
+			xlnx,tavdv-ps-mem-3 = < 0x3a98 >;
+			xlnx,tcedv-ps-mem-0 = < 0x1fbd0 >;
+			xlnx,tcedv-ps-mem-1 = < 0x3a98 >;
+			xlnx,tcedv-ps-mem-2 = < 0x3a98 >;
+			xlnx,tcedv-ps-mem-3 = < 0x3a98 >;
+			xlnx,thzce-ps-mem-0 = < 0x88b8 >;
+			xlnx,thzce-ps-mem-1 = < 0x1b58 >;
+			xlnx,thzce-ps-mem-2 = < 0x1b58 >;
+			xlnx,thzce-ps-mem-3 = < 0x1b58 >;
+			xlnx,thzoe-ps-mem-0 = < 0x1b58 >;
+			xlnx,thzoe-ps-mem-1 = < 0x1b58 >;
+			xlnx,thzoe-ps-mem-2 = < 0x1b58 >;
+			xlnx,thzoe-ps-mem-3 = < 0x1b58 >;
+			xlnx,tlzwe-ps-mem-0 = < 0x88b8 >;
+			xlnx,tlzwe-ps-mem-1 = < 0x00 >;
+			xlnx,tlzwe-ps-mem-2 = < 0x00 >;
+			xlnx,tlzwe-ps-mem-3 = < 0x00 >;
+			xlnx,tpacc-ps-flash-0 = < 0x61a8 >;
+			xlnx,tpacc-ps-flash-1 = < 0x61a8 >;
+			xlnx,tpacc-ps-flash-2 = < 0x61a8 >;
+			xlnx,tpacc-ps-flash-3 = < 0x61a8 >;
+			xlnx,twc-ps-mem-0 = < 0x32c8 >;
+			xlnx,twc-ps-mem-1 = < 0x3a98 >;
+			xlnx,twc-ps-mem-2 = < 0x3a98 >;
+			xlnx,twc-ps-mem-3 = < 0x3a98 >;
+			xlnx,twp-ps-mem-0 = < 0x11170 >;
+			xlnx,twp-ps-mem-1 = < 0x2ee0 >;
+			xlnx,twp-ps-mem-2 = < 0x2ee0 >;
+			xlnx,twp-ps-mem-3 = < 0x2ee0 >;
+			xlnx,twph-ps-mem-0 = < 0x2ee0 >;
+			xlnx,twph-ps-mem-1 = < 0x2ee0 >;
+			xlnx,twph-ps-mem-2 = < 0x2ee0 >;
+			xlnx,twph-ps-mem-3 = < 0x2ee0 >;
+
+			partition@0 {
+				label = "fpga";
+				reg = < 0x00 0x100000 >;
+			};
+
+			partition@100000 {
+				label = "boot";
+				reg = < 0x100000 0x40000 >;
+			};
+
+			partition@140000 {
+				label = "bootenv";
+				reg = < 0x140000 0x20000 >;
+			};
+
+			partition@160000 {
+				label = "config";
+				reg = < 0x160000 0x20000 >;
+			};
+
+			partition@180000 {
+				label = "image";
+				reg = < 0x180000 0xa00000 >;
+			};
+
+			partition@b80000 {
+				label = "spare";
+				reg = < 0xb80000 0x00 >;
+			};
+		};
+	};
+};
-- 
2.25.1



^ permalink raw reply related	[flat|nested] 10+ messages in thread

* [PULL v1 8/8] microblaze: petalogix-s3adsp1800: Add device-tree source
  2020-08-24 10:00 [PULL v1 0/8] Xilinx queue 2020-08-14 Edgar E. Iglesias
                   ` (6 preceding siblings ...)
  2020-08-24 10:00 ` [PULL v1 7/8] microblaze: petalogix-ml605: Add device-tree source Edgar E. Iglesias
@ 2020-08-24 10:00 ` Edgar E. Iglesias
  2020-08-24 15:32 ` [PULL v1 0/8] Xilinx queue 2020-08-14 Peter Maydell
  8 siblings, 0 replies; 10+ messages in thread
From: Edgar E. Iglesias @ 2020-08-24 10:00 UTC (permalink / raw)
  To: qemu-devel; +Cc: edgar.iglesias, peter.maydell

From: "Edgar E. Iglesias" <edgar.iglesias@xilinx.com>

Add a device-tree source for petalogix-s3adsp1800 and
recompile the DTB.

This also removes the unused mpmc node which causes
compilation warnings.

Reviewed-by: Philippe Mathieu-Daudé <f4bug@amsat.org>
Acked-by: Alistair Francis <alistair.francis@wdc.com>
Signed-off-by: Edgar E. Iglesias <edgar.iglesias@xilinx.com>
---
 pc-bios/petalogix-s3adsp1800.dtb | Bin 8259 -> 8161 bytes
 pc-bios/petalogix-s3adsp1800.dts | 282 +++++++++++++++++++++++++++++++
 2 files changed, 282 insertions(+)
 create mode 100644 pc-bios/petalogix-s3adsp1800.dts

diff --git a/pc-bios/petalogix-s3adsp1800.dtb b/pc-bios/petalogix-s3adsp1800.dtb
index 8ac80f2f2d191a8491b71182be50b3df2989551d..2513599438bffca96a93e877a1981efdd1a91115 100644
GIT binary patch
literal 8161
zcma)ATZkn`8Sb;Qv$H!pvt|>bNRSK}jkl@Ub7oeZM57Z)9)yT^S=6VcPj{Vj+UZ;R
zaxP<pEb&1FMMY8Z!3`K(Q3z;677=v=k_d{oD58QfQHYQiLGVGdet%uMs_V?`SkN=|
z{r_Lzf2m7XpI@%N^rGk8{;cPDJDzv;3H*N@p0jvv!h?2(0X`)At-l?G7V!VL>XS_4
zm!YpQaoskJ)9FSM1x416{e4bD$o3?jJ1bsRQ92}9C*es}%y#eU%0@D>Tf(y;btG!W
z?tB)2NYIYq=>(&!<f*_k?&Wyi7G!Ce#r&SCnq7FHyV2{tX{*~6CW7Zybnicx$Nh69
zFCstQ-8pZZLnnFjx|Bo2n8R`=6J3M%qE9vG1bMw{`J=HPT)6t}%lJ>WufXHhhrMO9
z*WC=EF?>VH)xy&+UB7<a!k<L{CJTR6RYu3NfjFRU;=AJTU3K_==J5T=;=38TJI!=%
zSm8GOSW}{D|1VfMQw{!u$BMUOuNmk&uZCW)A;NbFwkH10yRCRg-*@a2$A0SQ9|2y&
zqvGp)9(_BWZva!%`X4#|o`DX28~s1fx8r@OjgQg3qNezcy<Wlw-wSMwKlWh@uVNWy
zW$qW1pKkkMnLA@Y>fp}+ui??Y9(DAz*Qsg!ljz&Ne<8F+{|86^yrZYNv}&<HxmtV+
zud(cr%fdU%+PT=Zbl_OPytc+(bo65fQ?9me%9Zx4%58yirM|{bp>NIe!tWjZi@?_S
z<8-{(cpaFU;yeCU^sQWv-zT(2|9%J4I;Ez^KPX{?_knG`FF5$?4tD19_)i@DuO0k%
zU~0<$BIQO+V`m>O-VU7=&*C`;zf+CX<KN@xDPI~-e(34osKr0+kGeL$XZt7L@@&K)
zHa`Dm*4ylEZ~9&tC3(zQU!BV28*P!+Mu%4;UZlL*-Rao}IoZ4lkK~)?CDVp+RB^Vo
z+3kW@HnOF8-vG@dEA~jL^ZOY3x*o7ur1eLb8rhtH>?@S0YMN{35(%WG=K7YB5I$m$
zFMgkfqv^3vODJnPi2ZW3>sznQ#_o@>)A8PczR5ocMvNzcPCXbzOz=qJChp6M0RR4<
zIB9)pf7q8NsE*WB+$Y{3VS^uVaO&Vs0o#0+9sFHj@}c>EivF5~|Ll2hf7rtRMt{xV
zCDh$M50+jFOil4E-HpC=UMzjU!A`tOmmEFb!>#e(1E!|=pF-c}|Eq)PY^A2`PtyLd
z>`&5r#LE99y(ic3X#00LnBFV4J_7FG(e@9aPfcT5-_$gIRKf;-$H7lJ__q%J8!&AT
z%}4oJ_|z>9ruAa$@AW!ob2I+b1<$+t%N9mHEsXuz!k=@-Kj!GKI{4=fe%AB+E0({1
zVM~3;;N?>e#+lR7_uAu^?|1Z=pO$^%;7gu&%O@;<Uqqjps^{`IC2a5y9sH|y{>#s`
z^IJwfcD+vH?%l$#^t{Ju%_@JV-{^Upf3fgA4#xYSrT1ZLy{}JKz#VHm<!0+?|JeG+
z9sM;&|2s$jg3{9(>J0NJ!+SyA@F75>JZ{Bf&P6h!7ft(pfS4AsmYP^js<WSX_4<U&
z+qtx>tW1sm3kfw<vlTjXsA){^IcgeXjfh4Vwl})_tziAw`+wyEuvM>>STGrG=YFw5
z=PNbsn?3`sTlk8?qJ9T_BB^n$ZyKx-tDZIPt>PVfP)%2U;B~HP|KdAO`XG^x>A<>^
zUurt;rzI3v%)`e?K$S2y&se@NpDWKnN4CUqRGt3`8*0kmD%FFUs7uKE^$=f<*1{q?
zI;Z8jO2R}gsgTByPR6*4o{8~@7~H$@>dhEU{&h@uC^n7H1MB>d@9KSy{(ZpIL=I6}
z@uH~nis6g7DzZ4{1@_90xKv0x%{x?M2)FkRNP_vj1G827{vvyk_oau?GkH^NpN3=^
zkM{93^dWEX6X??j5o;AC6x?=Tf}?Tty>IrhFlq&(xDQ-U7~0fQ#Q4aMA!)~W4U#oH
z#B;=4t^Ni!G+O8Lyn}Jhil+2uPPO%CZc~`@)z7JQKMV_AmMq|LTzczew9i#P$dcTz
zqJGT1Bnx@$g?t<Z{9-lBxmWO^*Uz%bFNUR8R$*3G4AvuW9lr{cUJz%&9vc+=!J4PR
z%nMoI2P53C{gRW%Mlgzoqn03!QqCxf#zcU~CD4L~Kno0kmIwlxJMwM?C4NI9=dALF
ztRGdSCq;3bO;{)+o)oq)a)br<S(bwv0f*91B|5_=fN(4*Ll!4}sSh!r>C&f*H1I3m
zwwEkAIAx=R@x-5%tS+@j6=~mbDXm30V*G?9-AEzEvOyUu867o@r#@y{<q$?=w$F=<
z@oB)3UZ#g5boxe`lh0BgU*JN8r0K^u;f{wx&Z3g#Ss7K)m`mvZw((5$^V%gtU@UBx
zgG5d!BtmX`YR)24;K&p>Voib7%=vEdl)POgC2W-`ienH5*a>bZQCi|>lt5)CPCXoW
zDGw@{qd5mr3Mz>bA5zRDsaaUz^VBRK5=HYOlK4S@?JF6{Y(Go6f@z)fdBL&)%P}?h
z=oE8eq(#WY0y{u8DIAr`ygThO6oL<ZwRrNe+8^l9k}P`Ci-ubg;)vlDOG;&22AP!C
zsUJtfl!vCKDtM}W-!BTBJ0fhta-mx|8XLf;l}VDUNsuOUGM<KTN6UxiO$9{u1N@xX
zxEf7ZQd_R&iZJ?SPK^lFw?J9A{CSY%N>=#k5VO>f;OH!PS{Xs<;Q;kxmiU2~h-Qkz
z8b4D^rJrKTa%?s1F1_C>ThjN_JvNC#9LgfCC=KEotC#kc5QDu6M#RuP(n3w^4LH<H
z-@szK?Iq<yc|K%#nW$OUqv_X~D31p15tE`{D^cQ48GgUF^P^uMQoOLnNYP50#6%aw
zdo0Hf@>$4o<&9J&>0~{mGYGqCSHT+#asH_S3Qb;QRTgAwX$VmfQc35Hdxz5W*c?rd
z9Y(WtD9zS9&DNnb+lSI@&(mxlLc^18tK>ZCIe5##+cw78gH4S?o90fIn?%9L$8m}4
zhghdM=BS9O8KYZ=6qU0SQ$_QwR;m%Gg=qw89U6gJc2bZ>ImcbbpS78cxW#A0Emk8|
z+?78L$5>W&h%K37ZOIg6OQ!h(KF?>%G@mWge6~#UjrIfX#%IekpDojTw#@Kl2k;r0
z;WIMBXJnc$-k;3z*)q*%%QT-Y(|nV_&DKaXmyu{DBWZZ@Ii5z+@HCQ!r;#Y0X%Khm
zw!+OTU5F-F=X^Tgg<R&4_2$j6!{*Gk=FPD2=FGO|&9EQaW<KsUQJUA*?N?!@@)4K&
zkPrMiRyP`3qOHV_9M-vOz1-;SkGGqA3zfKOhmpz{7b1Z)32<2JyG2z*IDRd+mH-2S
z8n=VA!U@iCZ_Tp;uX}Ohk&gO)9TtA2P7raSG*|pA#9P2eA=EXL-v2iK2z?RYSc=re
zH|evmPjA{nmx+FZu#YxkAenS7YAh}pa>%-=hWya7aPw^}hweowJ`o0(1ARH6Ba)Dw
zCM=|Sx{>414DoFysv2Z9Dq&TB$Wy$<N?gcPL=fP8WC?IjWb%VHOZ9CW1s=ACk)#>-
EKNww{&j0`b

literal 8259
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

diff --git a/pc-bios/petalogix-s3adsp1800.dts b/pc-bios/petalogix-s3adsp1800.dts
new file mode 100644
index 0000000000..f53c36f870
--- /dev/null
+++ b/pc-bios/petalogix-s3adsp1800.dts
@@ -0,0 +1,282 @@
+/*
+ * Copyright (c) 2020 Xilinx Inc.
+ * Written by Edgar E. Iglesias <edgar.iglesias@xilinx.com>.
+ *
+ * SPDX-License-Identifier:     GPL-2.0+
+ */
+
+/dts-v1/;
+
+/ {
+	#address-cells = <0x01>;
+	#size-cells = <0x01>;
+	compatible = "xlnx,microblaze";
+	model = "testing";
+
+	memory@90000000 {
+		device_type = "memory";
+		reg = <0x90000000 0x8000000>;
+	};
+
+	chosen {
+		bootargs = "console=ttyUL0,115200";
+		stdout-path = "/plb/serial@84000000";
+	};
+
+	cpus {
+		#address-cells = <0x01>;
+		#size-cells = <0x00>;
+		#cpus = <0x01>;
+
+		cpu@0 {
+			clock-frequency = <0x3b9aca0>;
+			compatible = "xlnx,microblaze-7.10.d";
+			d-cache-baseaddr = <0x90000000>;
+			d-cache-highaddr = <0x97ffffff>;
+			d-cache-line-size = <0x10>;
+			d-cache-size = <0x800>;
+			device_type = "cpu";
+			i-cache-baseaddr = <0x90000000>;
+			i-cache-highaddr = <0x97ffffff>;
+			i-cache-line-size = <0x10>;
+			i-cache-size = <0x800>;
+			model = "microblaze,7.10.d";
+			reg = <0x00>;
+			timebase-frequency = <0x3b9aca0>;
+			xlnx,addr-tag-bits = <0x10>;
+			xlnx,allow-dcache-wr = <0x01>;
+			xlnx,allow-icache-wr = <0x01>;
+			xlnx,area-optimized = <0x00>;
+			xlnx,cache-byte-size = <0x800>;
+			xlnx,d-lmb = <0x01>;
+			xlnx,d-opb = <0x00>;
+			xlnx,d-plb = <0x01>;
+			xlnx,data-size = <0x20>;
+			xlnx,dcache-addr-tag = <0x10>;
+			xlnx,dcache-always-used = <0x00>;
+			xlnx,dcache-byte-size = <0x800>;
+			xlnx,dcache-line-len = <0x04>;
+			xlnx,dcache-use-fsl = <0x01>;
+			xlnx,debug-enabled = <0x01>;
+			xlnx,div-zero-exception = <0x00>;
+			xlnx,dopb-bus-exception = <0x00>;
+			xlnx,dynamic-bus-sizing = <0x01>;
+			xlnx,edge-is-positive = <0x01>;
+			xlnx,family = "spartan3adsp";
+			xlnx,fpu-exception = <0x00>;
+			xlnx,fsl-data-size = <0x20>;
+			xlnx,fsl-exception = <0x00>;
+			xlnx,fsl-links = <0x00>;
+			xlnx,i-lmb = <0x01>;
+			xlnx,i-opb = <0x00>;
+			xlnx,i-plb = <0x01>;
+			xlnx,icache-always-used = <0x00>;
+			xlnx,icache-line-len = <0x04>;
+			xlnx,icache-use-fsl = <0x01>;
+			xlnx,ill-opcode-exception = <0x00>;
+			xlnx,instance = "microblaze_0";
+			xlnx,interconnect = <0x01>;
+			xlnx,interrupt-is-edge = <0x00>;
+			xlnx,iopb-bus-exception = <0x00>;
+			xlnx,mmu-dtlb-size = <0x04>;
+			xlnx,mmu-itlb-size = <0x02>;
+			xlnx,mmu-tlb-access = <0x03>;
+			xlnx,mmu-zones = <0x10>;
+			xlnx,number-of-pc-brk = <0x03>;
+			xlnx,number-of-rd-addr-brk = <0x02>;
+			xlnx,number-of-wr-addr-brk = <0x02>;
+			xlnx,opcode-0x0-illegal = <0x00>;
+			xlnx,pvr = <0x01>;
+			xlnx,pvr-user1 = <0x00>;
+			xlnx,pvr-user2 = <0x00>;
+			xlnx,reset-msr = <0x00>;
+			xlnx,sco = <0x00>;
+			xlnx,unaligned-exceptions = <0x01>;
+			xlnx,use-barrel = <0x01>;
+			xlnx,use-dcache = <0x01>;
+			xlnx,use-div = <0x00>;
+			xlnx,use-ext-brk = <0x01>;
+			xlnx,use-ext-nm-brk = <0x01>;
+			xlnx,use-extended-fsl-instr = <0x00>;
+			xlnx,use-fpu = <0x00>;
+			xlnx,use-hw-mul = <0x01>;
+			xlnx,use-icache = <0x01>;
+			xlnx,use-interrupt = <0x01>;
+			xlnx,use-mmu = <0x03>;
+			xlnx,use-msr-instr = <0x01>;
+			xlnx,use-pcmp-instr = <0x01>;
+		};
+	};
+
+	plb {
+		#address-cells = <0x01>;
+		#size-cells = <0x01>;
+		compatible = "xlnx,plb-v46-1.03.a\0simple-bus";
+		ranges;
+
+		ethernet@81000000 {
+			compatible = "xlnx,xps-ethernetlite-2.00.a";
+			device_type = "network";
+			interrupt-parent = <0x01>;
+			interrupts = <0x01 0x00>;
+			local-mac-address = [02 00 00 00 00 00];
+			reg = <0x81000000 0x10000>;
+			xlnx,duplex = <0x01>;
+			xlnx,family = "spartan3adsp";
+			xlnx,rx-ping-pong = <0x00>;
+			xlnx,tx-ping-pong = <0x00>;
+		};
+
+		flash@a0000000 {
+			bank-width = <0x01>;
+			compatible = "xlnx,xps-mch-emc-2.00.a\0cfi-flash";
+			reg = <0xa0000000 0x1000000>;
+			xlnx,family = "spartan3adsp";
+			xlnx,include-datawidth-matching-0 = <0x01>;
+			xlnx,include-datawidth-matching-1 = <0x00>;
+			xlnx,include-datawidth-matching-2 = <0x00>;
+			xlnx,include-datawidth-matching-3 = <0x00>;
+			xlnx,include-negedge-ioregs = <0x00>;
+			xlnx,include-plb-ipif = <0x01>;
+			xlnx,include-wrbuf = <0x01>;
+			xlnx,max-mem-width = <0x08>;
+			xlnx,mch-native-dwidth = <0x20>;
+			xlnx,mch-plb-clk-period-ps = <0x3e80>;
+			xlnx,mch-splb-awidth = <0x20>;
+			xlnx,mch0-accessbuf-depth = <0x10>;
+			xlnx,mch0-protocol = <0x00>;
+			xlnx,mch0-rddatabuf-depth = <0x10>;
+			xlnx,mch1-accessbuf-depth = <0x10>;
+			xlnx,mch1-protocol = <0x00>;
+			xlnx,mch1-rddatabuf-depth = <0x10>;
+			xlnx,mch2-accessbuf-depth = <0x10>;
+			xlnx,mch2-protocol = <0x00>;
+			xlnx,mch2-rddatabuf-depth = <0x10>;
+			xlnx,mch3-accessbuf-depth = <0x10>;
+			xlnx,mch3-protocol = <0x00>;
+			xlnx,mch3-rddatabuf-depth = <0x10>;
+			xlnx,mem0-width = <0x08>;
+			xlnx,mem1-width = <0x20>;
+			xlnx,mem2-width = <0x20>;
+			xlnx,mem3-width = <0x20>;
+			xlnx,num-banks-mem = <0x01>;
+			xlnx,num-channels = <0x00>;
+			xlnx,priority-mode = <0x00>;
+			xlnx,synch-mem-0 = <0x00>;
+			xlnx,synch-mem-1 = <0x00>;
+			xlnx,synch-mem-2 = <0x00>;
+			xlnx,synch-mem-3 = <0x00>;
+			xlnx,synch-pipedelay-0 = <0x02>;
+			xlnx,synch-pipedelay-1 = <0x02>;
+			xlnx,synch-pipedelay-2 = <0x02>;
+			xlnx,synch-pipedelay-3 = <0x02>;
+			xlnx,tavdv-ps-mem-0 = <0x11170>;
+			xlnx,tavdv-ps-mem-1 = <0x3a98>;
+			xlnx,tavdv-ps-mem-2 = <0x3a98>;
+			xlnx,tavdv-ps-mem-3 = <0x3a98>;
+			xlnx,tcedv-ps-mem-0 = <0x11170>;
+			xlnx,tcedv-ps-mem-1 = <0x3a98>;
+			xlnx,tcedv-ps-mem-2 = <0x3a98>;
+			xlnx,tcedv-ps-mem-3 = <0x3a98>;
+			xlnx,thzce-ps-mem-0 = <0x61a8>;
+			xlnx,thzce-ps-mem-1 = <0x1b58>;
+			xlnx,thzce-ps-mem-2 = <0x1b58>;
+			xlnx,thzce-ps-mem-3 = <0x1b58>;
+			xlnx,thzoe-ps-mem-0 = <0x61a8>;
+			xlnx,thzoe-ps-mem-1 = <0x1b58>;
+			xlnx,thzoe-ps-mem-2 = <0x1b58>;
+			xlnx,thzoe-ps-mem-3 = <0x1b58>;
+			xlnx,tlzwe-ps-mem-0 = <0x1388>;
+			xlnx,tlzwe-ps-mem-1 = <0x00>;
+			xlnx,tlzwe-ps-mem-2 = <0x00>;
+			xlnx,tlzwe-ps-mem-3 = <0x00>;
+			xlnx,twc-ps-mem-0 = <0x11170>;
+			xlnx,twc-ps-mem-1 = <0x3a98>;
+			xlnx,twc-ps-mem-2 = <0x3a98>;
+			xlnx,twc-ps-mem-3 = <0x3a98>;
+			xlnx,twp-ps-mem-0 = <0xafc8>;
+			xlnx,twp-ps-mem-1 = <0x2ee0>;
+			xlnx,twp-ps-mem-2 = <0x2ee0>;
+			xlnx,twp-ps-mem-3 = <0x2ee0>;
+			xlnx,xcl0-linesize = <0x04>;
+			xlnx,xcl0-writexfer = <0x01>;
+			xlnx,xcl1-linesize = <0x04>;
+			xlnx,xcl1-writexfer = <0x01>;
+			xlnx,xcl2-linesize = <0x04>;
+			xlnx,xcl2-writexfer = <0x01>;
+			xlnx,xcl3-linesize = <0x04>;
+			xlnx,xcl3-writexfer = <0x01>;
+		};
+
+		gpio@81400000 {
+			compatible = "xlnx,xps-gpio-1.00.a";
+			interrupt-parent = <0x01>;
+			interrupts = <0x02 0x02>;
+			reg = <0x81400000 0x10000>;
+			xlnx,all-inputs = <0x00>;
+			xlnx,all-inputs-2 = <0x00>;
+			xlnx,dout-default = <0x00>;
+			xlnx,dout-default-2 = <0x00>;
+			xlnx,family = "spartan3adsp";
+			xlnx,gpio-width = <0x08>;
+			xlnx,interrupt-present = <0x01>;
+			xlnx,is-bidir = <0x00>;
+			xlnx,is-bidir-2 = <0x01>;
+			xlnx,is-dual = <0x00>;
+			xlnx,tri-default = <0xffffffff>;
+			xlnx,tri-default-2 = <0xffffffff>;
+		};
+
+		serial@84000000 {
+			clock-frequency = <0x3b9aca0>;
+			compatible = "xlnx,xps-uartlite-1.00.a";
+			current-speed = <0x1c200>;
+			device_type = "serial";
+			interrupt-parent = <0x01>;
+			interrupts = <0x03 0x00>;
+			port-number = <0x00>;
+			reg = <0x84000000 0x10000>;
+			xlnx,baudrate = <0x1c200>;
+			xlnx,data-bits = <0x08>;
+			xlnx,family = "spartan3adsp";
+			xlnx,odd-parity = <0x00>;
+			xlnx,use-parity = <0x00>;
+		};
+
+		debug@84400000 {
+			compatible = "xlnx,mdm-1.00.d";
+			reg = <0x84400000 0x10000>;
+			xlnx,family = "spartan3adsp";
+			xlnx,interconnect = <0x01>;
+			xlnx,jtag-chain = <0x02>;
+			xlnx,mb-dbg-ports = <0x01>;
+			xlnx,uart-width = <0x08>;
+			xlnx,use-uart = <0x01>;
+			xlnx,write-fsl-ports = <0x00>;
+		};
+
+		interrupt-controller@81800000 {
+			#interrupt-cells = <0x02>;
+			compatible = "xlnx,xps-intc-1.00.a";
+			interrupt-controller;
+			reg = <0x81800000 0x10000>;
+			xlnx,kind-of-intr = <0x0a>;
+			xlnx,num-intr-inputs = <0x04>;
+			linux,phandle = <0x01>;
+		};
+
+		timer@83c00000 {
+			compatible = "xlnx,xps-timer-1.00.a";
+			interrupt-parent = <0x01>;
+			interrupts = <0x00 0x02>;
+			reg = <0x83c00000 0x10000>;
+			xlnx,count-width = <0x20>;
+			xlnx,family = "spartan3adsp";
+			xlnx,gen0-assert = <0x01>;
+			xlnx,gen1-assert = <0x01>;
+			xlnx,one-timer-only = <0x00>;
+			xlnx,trig0-assert = <0x01>;
+			xlnx,trig1-assert = <0x01>;
+		};
+	};
+};
-- 
2.25.1



^ permalink raw reply related	[flat|nested] 10+ messages in thread

* Re: [PULL v1 0/8] Xilinx queue 2020-08-14
  2020-08-24 10:00 [PULL v1 0/8] Xilinx queue 2020-08-14 Edgar E. Iglesias
                   ` (7 preceding siblings ...)
  2020-08-24 10:00 ` [PULL v1 8/8] microblaze: petalogix-s3adsp1800: " Edgar E. Iglesias
@ 2020-08-24 15:32 ` Peter Maydell
  8 siblings, 0 replies; 10+ messages in thread
From: Peter Maydell @ 2020-08-24 15:32 UTC (permalink / raw)
  To: Edgar E. Iglesias; +Cc: Edgar Iglesias, QEMU Developers

On Mon, 24 Aug 2020 at 11:00, Edgar E. Iglesias
<edgar.iglesias@gmail.com> wrote:
>
> From: "Edgar E. Iglesias" <edgar.iglesias@xilinx.com>
>
> The following changes since commit 8367a77c4d3f6e1e60890f5510304feb2c621611:
>
>   Merge remote-tracking branch 'remotes/vivier2/tags/linux-user-for-5.2-pull-request' into staging (2020-08-23 16:34:43 +0100)
>
> are available in the Git repository at:
>
>   git@github.com:edgarigl/qemu.git tags/edgar/xilinx-next-2020-08-24.for-upstream
>
> for you to fetch changes up to 43f4e3d4fa2f9dba6bd68452a3380864ad9453c1:
>
>   microblaze: petalogix-s3adsp1800: Add device-tree source (2020-08-24 10:47:27 +0200)
>
> ----------------------------------------------------------------
> For upstream.
>


Applied, thanks.

Please update the changelog at https://wiki.qemu.org/ChangeLog/5.2
for any user-visible changes.

-- PMM


^ permalink raw reply	[flat|nested] 10+ messages in thread

end of thread, other threads:[~2020-08-24 15:33 UTC | newest]

Thread overview: 10+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2020-08-24 10:00 [PULL v1 0/8] Xilinx queue 2020-08-14 Edgar E. Iglesias
2020-08-24 10:00 ` [PULL v1 1/8] target/microblaze: mbar: Transfer dc->rd to mbar_imm Edgar E. Iglesias
2020-08-24 10:00 ` [PULL v1 2/8] target/microblaze: mbar: Move LOG_DIS to before sleep Edgar E. Iglesias
2020-08-24 10:00 ` [PULL v1 3/8] target/microblaze: mbar: Add support for data-access barriers Edgar E. Iglesias
2020-08-24 10:00 ` [PULL v1 4/8] target/microblaze: swx: Use atomic_cmpxchg Edgar E. Iglesias
2020-08-24 10:00 ` [PULL v1 5/8] configure: microblaze: Enable mttcg Edgar E. Iglesias
2020-08-24 10:00 ` [PULL v1 6/8] target/microblaze: mbar: Trap sleeps from user-space Edgar E. Iglesias
2020-08-24 10:00 ` [PULL v1 7/8] microblaze: petalogix-ml605: Add device-tree source Edgar E. Iglesias
2020-08-24 10:00 ` [PULL v1 8/8] microblaze: petalogix-s3adsp1800: " Edgar E. Iglesias
2020-08-24 15:32 ` [PULL v1 0/8] Xilinx queue 2020-08-14 Peter Maydell

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).