qemu-discuss
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Using edu driver under arm virt machine


From: nobodynobody
Subject: Using edu driver under arm virt machine
Date: Sun, 31 Dec 2023 01:56:57 +0100 (CET)

Hi everyone,
I'm new to this mailing list.

I'm trying to develop a custom qemu pci drivers using the edu drivers (hw/misc/edu.c) as a base.

I've done this before on x86_64 architecture without problem.

I have try to do the same on an arm VM running with virt machine.
the virt machine description:
https://www.qemu.org/docs/master/system/arm/virt.html
says that it support pci/pcie devices.

So I code a dummy pci device, usind edu drivers as a template.
I added the -device edu, to the command line of qemu-system-arm
and launched my vm.

the device appears with I do lspci:
# lspci -n
00:01.0 Class 0200: 1af4:1000
00:00.0 Class 0600: 1b36:0008
00:02.0 Class 00ff: 1234:11e8   <--- it's the edu drivers

it's memory seems mapped:
cat /sys/devices/platform/4010000000.pcie/pci0000:00/0000:00:02.0/resource
0x0000000010000000 0x00000000100fffff 0x0000000000040200
0x0000000000000000 0x0000000000000000 0x0000000000000000
0x0000000000000000 0x0000000000000000 0x0000000000000000
0x0000000000000000 0x0000000000000000 0x0000000000000000

so I try to put a breakpoint in edu_mmio_read & edu_mmio_write function, and map this zone , and write to it, as I did before on x86_64 vm.

But the breakpoint is never hit..????

I try to put breakpoint on other places in qemu, it works perfectly..

If I read to the mmio mapped memory with some generic tool like pcimem,
it returns 0xffffff ??

normally the address at offset 0 in mmio mapped memory of edu drivers should return 0x10000edu.

as the drivers source code shows:

   switch (addr) {
    case 0x00:
        val = 0x010000edu;
        break;


When I do the same on x86_64, it works perfectly, and the 0x10000edu value is returned as exepected...

I try everything possible, but impossible to communicate with the edu drivers via mmio mapped memory on arm architecture on virt machine...????!!!!

So my question is:

is the edu pci drivers usable on arm virt machine?

or does it need some specific qemu or kernel architecture...

I'm out of ideas... If someone can help me :)

best regards



reply via email to

[Prev in Thread] Current Thread [Next in Thread]