On 05/23/2016 06:56 AM, Lorenzo Pieralisi wrote:
The only way this can be implemented is by pretending that the ACPI/PCI arch/arm64 implementation is generic code (that's what this series does), move it to /drivers (where it is in this series), and implement _DSD vendor specific bindings (per HID) to set-up the pci operations; whether this solution should go upstream, given that it is just a short-term solution for early platforms bugs, it is another story and my personal answer is no.
Just for completeness, let me also followup to this one.
We have real, shipping, systems in the field based on ARMv8. For example, HPE Moonshot ProLiant m400. Not everyone loves the first generation of anything (Applied get a lot of stick, but the reality is that someone had to go first, and whoever that was was going to learn all of the lessons that others don't need to) but it is out there and we need an upstream kernel solution that includes support for that.
In the server world, we (speaking as a major distro vendor here) are not going to entertain a situation in which non-upstream patches are needed to even boot a platform. That simply won't do. We need to separate out the issue of getting the core in place from the quirks, but then we need quirks that include support for all early ARMv8 platforms that are out there today. If we can't get to a point where a Moonshot[0] cartridge boots out of the box with an upstream kernel, let's just give up and do something else instead :) (joke)
Jon.
[0] HPE have been *amazingly* patient with this stuff. They've reworked the firmware when someone (cough) pointed out that the early stuff they'd been fed was not built according to the standards (U-Boot). They have *really good* UEFI and ACPI enabled firmware that is running RHEL(SA) great. But that's not good enough. We don't ship a distro with hacks. We ship a distro derived from upstream code (although we might have to backport a lot of stuff later). There's wiggle room, but there is not wiggle room for core platforms. On ARM, users and developers *will* be able to take an upstream kernel and boot it on their RHEL install. And they *will* be able to reproduce problems against upstream, and help develop against upstream, and further the upstream first mentality in the ARM ecosystem. There will not be "oh well, it runs RHEL so that's good enough for the early generation...".