qemu-devel
[Top][All Lists]
Advanced

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

Re: [Qemu-devel] QEMU pci mach-virt: setting PCI_INTERRUPT_LINE?


From: Claudio Fontana
Subject: Re: [Qemu-devel] QEMU pci mach-virt: setting PCI_INTERRUPT_LINE?
Date: Wed, 25 Feb 2015 13:16:18 +0100
User-agent: Mozilla/5.0 (Windows NT 6.1; rv:24.0) Gecko/20100101 Thunderbird/24.0.1

On 25.02.2015 13:08, Alexander Graf wrote:
> 
> 
> On 25.02.15 13:07, Claudio Fontana wrote:
>>
>>
>> On 24.02.2015 15:34, Claudio Fontana wrote:
>>> Hello,
>>>
>>> I am trying to set the pci interrupt line field in the configuration space
>>> (offset 0x3c), since it is initialized as zero.
>>>
>>> I would like to set it to the right value as read from the device tree,
>>> in order for other existing software which relies on it to be able to work 
>>> unmodified..
>>>
>>> but it does not seem to work (I seem to read back zero even after setting 
>>> the PCI_INTERRUPT_LINE field).
>>>
>>> I am also reading the interrupt pin, but that one instead seems to work out 
>>> of the box..
>>>
>>> Thank you for any suggestion,
>>>
>>> Claudio
>>
>> By the way, I am currently just avoiding to rely on PCI_INTERRUPT_LINE for 
>> AArch64,
>> but shouldn't the register be programmable?
> 
> As far as I understand the register should really just be a scratch r/w
> register, yeah. Are you sure you're writing in byte granularity?
> 
> 
> Alex

Relatively sure, yeah.. I'll check again, but at least for x86_64 the get 
function works.
It's OSv's pci-function.cc

u8 function::get_interrupt_line()
{
    return pci_readb(PCI_CFG_INTERRUPT_LINE);
}

void function::set_interrupt_line(u8 irq)
{
    pci_writeb(PCI_CFG_INTERRUPT_LINE, irq);
}

I'll try to debug with PCI_DEBUG and such things, see if I find out something...

Ciao,

Claudio





-- 
Claudio Fontana
Server Virtualization Architect
Huawei Technologies Duesseldorf GmbH
Riesstraße 25 - 80992 München

office: +49 89 158834 4135
mobile: +49 15253060158



reply via email to

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