[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: [PATCH 09/11] xen/arm: Setup MMIO range trap handlers for hardware domain
- To: Oleksandr Andrushchenko <Oleksandr_Andrushchenko@xxxxxxxx>
- From: Rahul Singh <Rahul.Singh@xxxxxxx>
- Date: Wed, 15 Sep 2021 10:45:59 +0000
- Accept-language: en-US
- Arc-authentication-results: i=1; mx.microsoft.com 1; spf=pass smtp.mailfrom=arm.com; dmarc=pass action=none header.from=arm.com; dkim=pass header.d=arm.com; arc=none
- Arc-message-signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com; s=arcselector9901; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version; bh=oGKW/gOUVgzzW5DtTrQAoowlwet+WhTAaJlhFN8KcOQ=; b=gsdt5OOdRaCIvreOvXvOQRk7mJrNQS9hOYl8GsiXdWQrRfCa8VhxTHb8mT+ZpZOt5vR3mG4diDu816I0ZyOpi3hdisFOIrWa/XtkbON1v46yJGhPkXJOULdy3BOJ0e5+T92RFe18MS2UvTdINp8BukxQW/RIDzFgHI2LtOKHWitknB5fDOeFY28jdwmLTQUpjqQcXKEoGD4lpoa3LwNQiglD122Px4e9/0N4EAQRrKYwQqwtq1Vl+6QXvV+WtcWxI/qDdZ2pPz/5nQNiHQgWZWPwk9CfuZfw/ThsoUMbapjsyXaTnvMAnVlM201LstoDYhT7IhguJylGKm+EvW1QAg==
- Arc-seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=SZqvBZthUKsvayXUhMcteLFnKCAMEdZimPqmdc24dG8UoIFcvODoh4Rx/0NaIV+tIas7BHTfv3Bqp3yDuGjmvriKJoK2/MlkGA4nxYOqTfu+JZ2tN1l2jW+y7l1Sk9WMMpD3tM9iEWaSYZaNpBUqRJeGa+q8RFHeIRhPMLcdDGZyTZNnGba1QuNUBqOQmPQI19Zb+HZuskrdVJPEgfwolbDuan6/o/cH+VNfrvq+/UrTWT4vju5/wbxUgffLCCfAvHaGsqlkh++p13q0m4cCwSE1I8B0zfbwoi1FlBBJFQF+EYtwI5DDQC7O/qsxMiKaswO/+Mu4MHStPwDGaAujrQ==
- Authentication-results-original: epam.com; dkim=none (message not signed) header.d=none;epam.com; dmarc=none action=none header.from=arm.com;
- Cc: "xen-devel@xxxxxxxxxxxxxxxxxxxx" <xen-devel@xxxxxxxxxxxxxxxxxxxx>, "julien@xxxxxxx" <julien@xxxxxxx>, Stefano Stabellini <sstabellini@xxxxxxxxxx>, Oleksandr Tyshchenko <Oleksandr_Tyshchenko@xxxxxxxx>, Volodymyr Babchuk <Volodymyr_Babchuk@xxxxxxxx>, Artem Mygaiev <Artem_Mygaiev@xxxxxxxx>, "roger.pau@xxxxxxxxxx" <roger.pau@xxxxxxxxxx>, Bertrand Marquis <Bertrand.Marquis@xxxxxxx>, Oleksandr Andrushchenko <andr2000@xxxxxxxxx>
- Delivery-date: Wed, 15 Sep 2021 10:46:24 +0000
- List-id: Xen developer discussion <xen-devel.lists.xenproject.org>
- Nodisclaimer: true
- Original-authentication-results: epam.com; dkim=none (message not signed) header.d=none;epam.com; dmarc=none action=none header.from=arm.com;
- Thread-index: AQHXoJ57xrO/H5MzpEqKB3+2EFX1LqudvyUAgAXn+wCAAP1GAIAAWBqA
- Thread-topic: [PATCH 09/11] xen/arm: Setup MMIO range trap handlers for hardware domain
Hi Oleksandr, Stefano,
> On 15 Sep 2021, at 6:30 am, Oleksandr Andrushchenko
> <Oleksandr_Andrushchenko@xxxxxxxx> wrote:
>
> Hi, Rahul!
>
> On 14.09.21 17:24, Oleksandr Andrushchenko wrote:
>>
>> }
>>>> +static int pci_ecam_register_mmio_handler(struct domain *d,
>>>> + struct pci_host_bridge *bridge,
>>>> + const struct mmio_handler_ops
>>>> *ops)
>>>> +{
>>>> + struct pci_config_window *cfg = bridge->sysdata;
>>>> +
>>>> + register_mmio_handler(d, ops, cfg->phys_addr, cfg->size, NULL);
>>>> + return 0;
>>>> +}
>>> Given that struct pci_config_window is generic (it is not specific to
>>> one bridge), I wonder if we even need the .register_mmio_handler
>>> callback here.
>>>
>>> In fact,pci_host_bridge->sysdata doesn't even need to be a void*, it
>>> could be a struct pci_config_window*, right?
>>
>> Rahul, this actually may change your series.
>>
>> Do you think we can do that?
>>
> This is the only change requested that left unanswered by now.
>
> Will it be possible that you change the API accordingly, so I can
>
> implement as Stefano suggests?
We need pci_host_bridge->sysdata as void* in case we need to implement the new
non-ecam PCI controller in XEN.
Please have a look once in Linux code[1] how bridge->sysdata will be used.
struct pci_config_window is used only for
ecam supported host controller. Different PCI host controller will have
different PCI interface to access the PCI controller.
[1]
https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git/tree/drivers/pci/controller/pcie-rcar-host.c#n309
I think we need bridge->sysdata in future to implement the new PCI controller.
Regards,
Rahul
>
> Thanks,
>
> Oleksandr
|