**** BEGIN LOGGING AT Fri Aug 02 03:01:07 2019 Aug 02 04:06:55 jkridner: I'm able to compile manually using clpru but clciking 'Run' on the IDE doesn't work and I get 'pru_cfg.h: No such file or directory' even though it is in the right place. Aug 02 04:07:52 for blinkInternalLED.pru0.c Aug 02 10:49:51 juliengjulieng the crossbar is located on the smae page as a big control module, could give me the names of the functions I should use? Aug 02 10:55:34 embden_new[m]: The first step is to get the device access trap. So you need to look at handle_device and ensure that you don't map any address belonging to the crossbar page. Aug 02 10:56:33 With that in place you should start to see a message looking like HSR=XXXX pc=XXXXX gva=XXXX gpa=XXXX in the log and your guest will crash. Aug 02 10:56:53 (the message is printed by do_trap_stage2_abort_guest). Aug 02 10:57:30 Once you have that done, you will need to hook your callback for the emulation. You can have a look at xen/arch/arm/io.c Aug 02 10:57:50 ok Aug 02 10:58:18 embden_new[m]: A simple example of how to use the IO helpers can be found in xen/arch/arm/vuart.c. Aug 02 11:19:14 julieng: is mapping happens only in map_range_to_domain? Aug 02 11:21:52 Because I added there the check: if (addr >= 0x4A002000 && addr <= 0x4A003000) Aug 02 11:21:53 printk(XENLOG_INFO "Map address = %llx, for device %s\n", addr, dev->name); Aug 02 11:21:58 and I have no corresponding output Aug 02 11:25:55 * @freenode_julieng:matrix.org: does mapping happen only in map_range_to_domain? Aug 02 12:16:44 at the same time there definetely are writes to crossbar registers from Linux Aug 02 12:17:00 at least at the init time, Linux overwrites all crossbar values with safe_map value Aug 02 13:24:58 julieng: it seems that I can't install mmio handlers in make_crossbar_node since I can't mark handlers with __init, right? Aug 02 13:40:41 I also don't understand when handlers should be created. I mean that create_crossbar_node is called once so it can be with __init specifier. But where to put the platoform specific crossbar handlers and to obtain a domain for the function? Aug 02 14:15:15 embden_new[m]: For device mapping, this will be either map_range_to_domain of the specific_mapping callback. Do you call omap5_specific_mapping for your platform? Aug 02 14:15:56 embden_new[m]: Technically make_crossbar_node should not be part of domain_build.c. They will have to be done in platforms/omap5.c to be upstreamable. Aug 02 14:17:25 You can either define the helpers in a separate file. Or just hack arch/arm/Makefile s/domain_build.init.o/domain_build.o/ Aug 02 14:17:43 julieng: yeah, omap5 mapping does exist Aug 02 14:18:11 Is it call for your platform? I have the feeling the function will end up to map the crossbar page. Aug 02 14:18:46 I'll just place them in omap5.c, should be ok for now? Aug 02 14:18:57 The domain you want to pass is either "d" or kinfo->d depending or where you call from. Aug 02 14:19:04 omap5.c -> For now yes. Aug 02 23:54:00 julieng: hm, I can't see any output from io handlers: https://github.com/embeddedden/xen/commit/8b152404e6621b5beef484030f57dc9ff3ba877e **** ENDING LOGGING AT Sat Aug 03 02:59:57 2019