Welcome, Guest
You have to register before you can post on our site.

Username
  

Password
  





Search Forums

(Advanced Search)

Forum Statistics
» Members: 342
» Latest member: fluppi
» Forum threads: 83
» Forum posts: 379

Full Statistics

Online Users
There are currently 21 online users.
» 0 Member(s) | 21 Guest(s)

Latest Threads
BMC 4MB limitation and al...
Forum: Public Support
Last Post: NGNear
12-12-2018, 05:52 PM
» Replies: 4
» Views: 611
Interrupt handling in Dom...
Forum: Public Support
Last Post: RuebenLey
10-30-2018, 04:30 PM
» Replies: 2
» Views: 1,158
Xen Hypervisor on Avnet U...
Forum: Public Support
Last Post: ttsivan
10-15-2018, 12:43 PM
» Replies: 2
» Views: 832
XZD 2017.1 with Xen 4.9
Forum: Knowledge Base
Last Post: Nathan.Studer
09-10-2018, 02:00 PM
» Replies: 3
» Views: 453
Virtuosity on Zynq 2018.1...
Forum: Knowledge Base
Last Post: Nathan.Studer
09-06-2018, 06:38 PM
» Replies: 0
» Views: 230
FreeRTOS on Xilinx/Xen no...
Forum: Public Support
Last Post: BurchSung
05-25-2018, 05:08 PM
» Replies: 4
» Views: 2,645
Error kernel paging reque...
Forum: Public Support
Last Post: ariefgrand
02-14-2018, 03:19 PM
» Replies: 1
» Views: 2,148
XZD 2017.1 Release
Forum: Knowledge Base
Last Post: Nathan.Studer
02-12-2018, 03:12 PM
» Replies: 0
» Views: 1,237
XZD is Now Virtuosity
Forum: Knowledge Base
Last Post: Nathan.Studer
02-12-2018, 03:09 PM
» Replies: 0
» Views: 745
ENEA RTOS on ZCU102
Forum: Knowledge Base
Last Post: Nathan.Studer
02-12-2018, 02:53 PM
» Replies: 3
» Views: 1,671

 
  ENEA RTOS on ZCU102
Posted by: harias - 02-09-2018, 11:17 AM - Forum: Knowledge Base - Replies (3)

As we know, ENEA supports Zynq UltraScale:

https://www10.edacafe.com/nbc/articles/1...oC-Devices

So, wondering if ENEA RTOS will be supported by XENZYNQ? 
Does XZD offers the tools and platform to port ENEA RTOS from scratch?

Print this item

  How can we compile libvchan
Posted by: ariefgrand - 01-08-2018, 09:51 AM - Forum: Public Support - Replies (9)

Hello guys,

I have a problem when cross-compiling the libvchan tools to be launched on Dom0 (or DomU) on ZCU102 .
First, I cloned the buildroot from https://github.com/dornerworks/buildroot.git and I got error in the host-python3 3.4.2 building.
Then, I thought that maybe the repo is not up-to-date, so I searched another repo and I cloned git://git.busybox.net/buildroot.
This repo works and I was able to perform make till the end. I followed the steps in the guide Section 5.3 with a little modification as I didn't use the same buildroot :

Quote:./configure --host=aarch64-buildroot-linux-uclibc --enable-tools
$ make dist-tools CROSS_COMPILE=aarch64-buildroot-linux-uclibc- XEN_TARGET_ARCH=arm64 CONFIG_EARLY_PRINTK=zynqmp

However, when I tried to execute the command ./vchan-node1 server read 0 data/vchan, I only got -sh: ./vchan-node1: No such file or directory Sad

I followed the Petalinux flow to generate the xen, dom0 and domU. I don't have gcc on the board. That's why I tried to cross-compile libvchan.
Has anybody tried this before? If my method is wrong, would you tell me how can I do the cross-compilation and which tools should I use?
Or at least, would you tell me which tool support libxen in order to compile libvchan?

Thank you so much.

Print this item

  DMA from DomU on ZynqMP
Posted by: ariefgrand - 12-08-2017, 06:46 PM - Forum: Public Support - Replies (2)

Hello guys,

Is there any of you that already performed a DMA from DomU on Zynq Ultrascale+?
For instance, doing write/read using /dev/mem or with /dev/uio?
Thank you.

Best regards,
Arief

Print this item

  DomU and PL on ZCU102 Zynq Ultrascale+
Posted by: ariefgrand - 12-07-2017, 03:27 PM - Forum: Public Support - Replies (1)

Hello guys,

Is there any tutorial or example on how DomU can access an IP in PL of Zynq Ultrascale+?
The IP uses AXI slave interface.

Thank you so much.

Best regards,
Arief

Print this item

  Rebuilding Xen Tools
Posted by: brettstahlman - 10-26-2017, 04:25 PM - Forum: Getting Started - Replies (2)

Incidentally, what's the recommended way to get rebuilt xen tools libraries into the dom0 rootfs? I added some debug code to the libxenforeignmemory source, but it had no effect, apparently because the dom0 rootfs is populated with pre-built binaries. I'm sure I could use losetup/kpartx etc. to copy them in manually, but this would be tedious, especially if I have to do it often. I'm hoping there's a more automated way...

One other build issue I've run into now that I'm building Xen proper with Petalinux and Xen tools manually (make dist-tools) is that the CONFIG_EARLY_PRINTK=ronaldo recommended in the XZD UM seems to cause multiple definition errors (e.g., on early_puts) when I attempt to rebuild Xen proper after having built the tools manually. I tried setting CONFIG_EARLY_PRINTK=ronaldo when building Xen proper also, but that didn't fix it. Ended up having to do a full clean to get Xen building again...

Thanks,
Brett S.

Print this item

  SIGBUS: "ttbr address size fault", possibly caused by .dtb issue
Posted by: brettstahlman - 10-19-2017, 05:04 PM - Forum: Getting Started - Replies (8)

I've written a small app, designed to run in dom0, which uses the Xen "foreignmemory" interface to read arbitrary pages within a user domain. The call to perform the memory mapping succeeds, and a pointer to the mapped buffer is returned by xenforeignmemory_map(). But I get a SIGBUS as soon as I attempt to access the data in the buffer:


Code:
(XEN) traps.c:2508:d0v1 <register values...>
[    62.1234413] Unhandled fault: ttbr address size fault (0x92000000) at 0x0000007fxxxxxxxx
Bus error

Note that the timestamped "Unhandled fault" message is actually from the linux kernel (mm/fault.c). I suspect the "address size fault" occurs because something is telling Xen that 0x7fxxxxxxxx is an invalid (too large) address. Looking in $(RELEASE_DIR)/dts/xen-zcu102.dts, I see the following:
Code:
    memory {
        device_type = "memory";
        reg = <0x0 0x0 0x0 0x80000000 0x8 0x0 0x0 0x80000000>;
    };

...which, IIUC, defines 2, 2G memory regions: one at address 0, the other at address 0x800000000. Adding 2G to the start of the upper range gives an end address of 0x880000000, which is significantly below the address of the buffer I'm attempting to access. Accordingly, I tried modifying the memory device entry to increase the sizes from 0x80000000 to 0x8000000000, which should have placed the offending address within both upper and lower ranges, but the error persisted. Is there another DTB file I would need to modify? The one I modified is the one that gets copied to the sd card's boot partition, which I'm assuming is used by the Xen kernel, not Dom0 itself. I just looked at zynqmp-zcu102.dts (under $RELEASE_DIR/components/linux-kernel/xlnx-4.6/arch/arm64/boot/dts) and saw that its memory node looks identical to the one above, so perhaps that's the problem. But if so, it seems odd that mmap() (used by xenforeignmemory_map() to allocate the buffer) would return an address outside the default ranges defined in the kernel's device tree. Isn't the kernel supposed to use the information in the device tree to configure its memory management? As a test, I allocated a buffer with malloc(), and it was placed at 0x3xxxxxxx, well within the configured limits. (Unfortunately, xenforeignmemory_map() doesn't allow you to pass a pointer to the desired buffer the way mmap() does...)
Is the device tree the likely cause of the SIGBUS error? If so, is changing the memory node's "reg" property the right fix, or does the fact that mmap() returns an address above 4G point to a problem elsewhere?
Thanks,
Brett S.

Print this item

  Using Petalinux to build custom apps that use Xen libraries
Posted by: brettstahlman - 10-09-2017, 08:49 PM - Forum: Getting Started - Replies (11)

I'm trying to build a custom app that uses Xen libraries and runs in Dom0. The docs I've seen suggest creating a custom app like this:

Code:
petalinux-create -t apps -n myapp --enable

But I haven't seen any documentation on the Makefile incantations required to make Xen header files and libraries accessible. Xen itself defines a bunch of helpful macros in $(XEN_ROOT)/tools/Rules.mk, but when I attempted to include Rules.mk in the custom app Makefile created by Petalinux, the build failed with an error indicating I needed to run ./configure before building or installing the tools. Further complicating matters is the path munging Petalinux performs on the gcc command line used to build the custom app's C file. I suspect the path munging is needed because source files are copied to a location under "build/linux/rootfs", but it makes determination of -I directives messy; moreover, even after adjusting the -I directives to fix the "file not found" errors, I'm still getting a slough of weird compile errors from standard header files. Note that the actual custom code is still stubbed out at this point; the errors stem from my attempt to include a single Xen header file. The --sysroot option is pointing to build/linux/rootfs/stage. I've also used -I to add the following directories to CFLAGS...

build/linux/rootfs/apps/xen/xen-src/xen/include/public
build/linux/rootfs/apps/xen/xen-src/tools/libs/foreignmemory/include
build/linux/rootfs/apps/xen/xen-src/tools/include
build/linux/kernel/xlnx-4.6/source/include

It occurred to me that it might be easier to create my app under the Xen source tree: i.e.,

components/apps/xen/xen-src/tools/myapp

But I'm not sure whether/how this approach would be supported by Petalinux. I tried creating a tool app manually, by adding a C file and updating the common tools Makefile accordingly, but I couldn't get Petalinux to build it. Apparently, Xen itself doesn't depend on these tools, and it wasn't clear from the help how to force petalinux-build to build a specific tool under components/apps/xen/xen-src/tools.

I can't imagine that what I'm trying to do is all that unusual, which makes me think there must be a standard mechanism for it. Any information/documentation you can provide would be greatly appreciated...

Thanks,
Brett Stahlman

Print this item

  Building a custom Xen hypervisor
Posted by: brettstahlman - 10-05-2017, 03:55 PM - Forum: Getting Started - Replies (3)

The User's Manual recommends using Petalinux to build the Xen kernel. I don't recall ever running Petalinux, so I'm assuming the xen.ub I've been using is a pre-compiled binary that ships with XZD. I need to customize Xen, but would prefer doing so without Petalinux: i.e., I'd prefer simply incorporating the Xen source into my project and configuring/building the standard Xen way. Is this possible, or does Petalinux contain some "secret sauce" that would be difficult to replace? If I can simply download and build the Xen source, what are the version constraints? I'm currently using the 2016.3 release of the Xilinx toolchain. If I do need to use Petalinux, is there an easy way to use it to build Xen only (and not Dom0 kernel, U-Boot, FSBL, etc...)?

Thanks,
Brett S.

Print this item

  Possible to run older versions of xilinx linux kernel on zynqmp ultrascale+?
Posted by: brettstahlman - 08-18-2017, 06:51 PM - Forum: Getting Started - Replies (3)

I would like to run a 3.x linux kernel on my zynqmp ultrascale+ (ZCU102), rather than the 4.x kernel that corresponds to the latest xlnx-linux release. Accordingly, I checked out the version of xlnx-linux tagged as 2013.4 (which used v3.12 kernel), and I was able to build it after making some minor tweaks (e.g., adding zcu102-specific DTS files). But it hangs near the beginning of boot. I'll probably try to enable some additional debug information, but I'd like to know before I get too far down the debugging path whether what I'm trying to do is even feasible. What is the earliest kernel version on which the xilinx linux kernel has been tested on the ZCU102?

Thanks,
Brett S.

Print this item

  Which qemu-system-aarch64 should be in path?
Posted by: brettstahlman - 08-14-2017, 09:56 PM - Forum: Getting Started - Replies (2)

Hello,
I've installed both XZD (2016.12.31) and the Xilinx SDK (2016.3), and am uncertain as to which of the following qemu-system-aarch64 binaries I should be using:

  • Debian system (v2.5.0)
  • Xilinx SDK (v2.2.50)
  • XZD tools/hsm/bin (v2.2.50)
  • XZD tools/linux-i386/petalinux/bin (v2.2.50)
Sourcing settings64.sh in the Xilinx SDK puts the Xilinx SDK version in my PATH, but text in the XZD user manual makes it sound as though I should be using the one that ships with XZD. The version numbers of the XZD/Xilinx binaries are actually indentical, but perhaps they're different builds? Any information would be greatly appreciated...
Thanks,
Brett S.

Print this item