lists.openwall.net   lists  /  announce  owl-users  owl-dev  john-users  john-dev  passwdqc-users  yescrypt  popa3d-users  /  oss-security  kernel-hardening  musl  sabotage  tlsify  passwords  /  crypt-dev  xvendor  /  Bugtraq  Full-Disclosure  linux-kernel  linux-netdev  linux-ext4  linux-hardening  linux-cve-announce  PHC 
Open Source and information security mailing list archives
 
Hash Suite: Windows password security audit tool. GUI, reports in PDF.
[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Date:	Tue, 08 Sep 2015 21:01:20 +0800
From:	Hanjun Guo <hanjun.guo@...aro.org>
To:	Marc Zyngier <marc.zyngier@....com>,
	"Rafael J. Wysocki" <rjw@...ysocki.net>
CC:	Len Brown <lenb@...nel.org>, Tomasz Nowicki <tn@...ihalf.com>,
	Thomas Gleixner <tglx@...utronix.de>,
	Jason Cooper <jason@...edaemon.net>,
	Lorenzo Pieralisi <lorenzo.pieralisi@....com>,
	Sudeep Holla <sudeep.holla@....com>,
	Will Deacon <will.deacon@....com>,
	Catalin Marinas <catalin.marinas@....com>,
	linaro-acpi@...ts.linaro.org, linux-acpi@...r.kernel.org,
	linux-kernel@...r.kernel.org, linux-arm-kernel@...ts.infradead.org
Subject: Re: [PATCH 1/5] acpi: Add basic device probing infrastructure

On 09/08/2015 05:57 PM, Marc Zyngier wrote:
> On 07/09/15 22:29, Rafael J. Wysocki wrote:
>> On Friday, September 04, 2015 06:06:48 PM Marc Zyngier wrote:
>>> IRQ controllers and timers are the two types of device the kernel
>>> requires before being able to use the device driver model.
>>>
>>> ACPI so far lacks a proper probing infrastructure similar to the one
>>> we have with DT, where we're able to declare IRQ chips and
>>> clocksources inside the driver code, and let the core code pick it up
>>> and call us back on a match. This leads to all kind of really ugly
>>> hacks all over the arm64 code and even in the ACPI layer.
>>>
>>> In order to allow some basic probing based on the ACPI tables,
>>> introduce "struct acpi_probe_entry" which contains just enough
>>> data and callbacks to match a table, an optional subtable, and
>>> call a probe function. A driver can, at build time, register itself
>>> and expect being called if the right entry exists in the ACPI
>>> table.
>>>
>>> A acpi_probe_device_init() is provided, taking an ACPI table
>>> identifier, and iterating over the registered entries.
>>
>> What about things that are provided by the ACPI namespace (eg. via _MAT) rather
>> than in static tables?
>
> By the time we get to process non-static tables, the whole probing
> infrastructure (including the ACPI interpreter) should be up and
> running. I'm not seeing this stuff as a replacement for more dynamic
> things - quite the opposite. It is only to be used for early bring-up.

Yes, this framework is for static tables and used at boot time,
sometimes quite early, which is before acpi_early_init().

But for _MAT (which is used for dynamic device configuration), it's
really a good question, I think _MAT is mainly for CPU hotplug, and
it's not related to this framework (for GIC init and clock source).
To hot add/remove a whole ARM SoC with _MAT, I think we need more
time to make the spec ready first, that's long term work, and agian
it's nothing to do with this infrastructure if I understand correctly :)

Thanks
Hanjun
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@...r.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/

Powered by blists - more mailing lists

Powered by Openwall GNU/*/Linux Powered by OpenVZ