From mboxrd@z Thu Jan 1 00:00:00 1970 From: Christoffer Dall Subject: Re: [PATCH 19/19] Documentation: ACPI for ARM64 Date: Tue, 29 Jul 2014 14:37:38 +0200 Message-ID: References: <1406206825-15590-1-git-send-email-hanjun.guo@linaro.org> <1406206825-15590-20-git-send-email-hanjun.guo@linaro.org> <20140728100654.GC24078@leverpostej> <20140728164459.GD32359@quad.lixom.net> <20140729102940.GB18250@cbox> <20140729105543.GL2576@leverpostej> <20140729112824.GM2576@leverpostej> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Return-path: In-Reply-To: <20140729112824.GM2576@leverpostej> List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Sender: "linux-arm-kernel" Errors-To: linux-arm-kernel-bounces+linux-arm-kernel=m.gmane.org@lists.infradead.org To: Mark Rutland Cc: Mark Brown , Catalin Marinas , Will Deacon , Lv Zheng , "rob.herring@linaro.org" , Lorenzo Pieralisi , Daniel Lezcano , Robert Moore , "linux-acpi@vger.kernel.org" , "grant.likely@linaro.org" , Charles Garcia-Tobin , Robert Richter , Jason Cooper , Arnd Bergmann , Marc Zyngier , Liviu Dudau , Bjorn Helgaas , "linux-arm-kernel@lists.infradead.org" , "graeme.gregory@linaro.org" , Randy Dunlap , Rafael J List-Id: linux-acpi@vger.kernel.org T24gMjkgSnVseSAyMDE0IDEzOjI4LCBNYXJrIFJ1dGxhbmQgPG1hcmsucnV0bGFuZEBhcm0uY29t PiB3cm90ZToKPiBPbiBUdWUsIEp1bCAyOSwgMjAxNCBhdCAxMTo1NTo0M0FNICswMTAwLCBNYXJr IFJ1dGxhbmQgd3JvdGU6Cj4+IE9uIFR1ZSwgSnVsIDI5LCAyMDE0IGF0IDExOjI5OjQwQU0gKzAx MDAsIENocmlzdG9mZmVyIERhbGwgd3JvdGU6Cj4+ID4gT24gTW9uLCBKdWwgMjgsIDIwMTQgYXQg MDk6NDQ6NTlBTSAtMDcwMCwgT2xvZiBKb2hhbnNzb24gd3JvdGU6Cj4+ID4gPiBPbiBNb24sIEp1 bCAyOCwgMjAxNCBhdCAxMTowNjo1NEFNICswMTAwLCBNYXJrIFJ1dGxhbmQgd3JvdGU6Cj4+ID4K Pj4gPiBbLi4uXQo+PiA+Cj4+ID4gPiA+ID4KPj4gPiA+ID4gPiA+ICtSZWxhdGlvbnNoaXAgd2l0 aCBEZXZpY2UgVHJlZQo+PiA+ID4gPiA+ID4gKy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t Cj4+ID4gPiA+ID4gPiArCj4+ID4gPiA+ID4gPiArQUNQSSBzdXBwb3J0IGluIGRyaXZlcnMgYW5k IHN1YnN5c3RlbXMgZm9yIEFSTXY4IHNob3VsZCBuZXZlciBiZSBtdXR1YWxseQo+PiA+ID4gPiA+ ID4gK2V4Y2x1c2l2ZSB3aXRoIERUIHN1cHBvcnQgYXQgY29tcGlsZSB0aW1lLgo+PiA+ID4gPiA+ ID4gKwo+PiA+ID4gPiA+ID4gK0F0IGJvb3QgdGltZSB0aGUga2VybmVsIHdpbGwgb25seSB1c2Ug b25lIGRlc2NyaXB0aW9uIG1ldGhvZCBkZXBlbmRpbmcgb24KPj4gPiA+ID4gPiA+ICtwYXJhbWV0 ZXJzIHBhc3NlZCBmcm9tIHRoZSBib290bG9hZGVyLgo+PiA+ID4gPiA+Cj4+ID4gPiA+ID4gUG9z c2libHkgb3ZlcnJpZGVuIGJ5IGtlcm5lbCBib290YXJncy4gQW5kIGFzIGRlYmF0ZWQgZm9yIHF1 aXRlIGEKPj4gPiA+ID4gPiB3aGlsZSBlYXJsaWVyIHRoaXMgeWVhciwgYWNwaSBzaG91bGQgc3Rp bGwgZGVmYXVsdCB0byBvZmYgLS0gaWYgYSBEVAo+PiA+ID4gPiA+IGFuZCBBQ1BJIGFyZSBib3Ro IHBhc3NlZCBpbiwgRFQgc2hvdWxkIGF0IHRoaXMgdGltZSBiZSBnaXZlbiBwcmlvcml0eS4KPj4g PiA+ID4KPj4gPiA+ID4gV2h5PyBJIHJlYWxseSBkb24ndCBzZWUgdGhlIGxvZ2ljIGluIGRvaW5n IHRoYXQuCj4+ID4gPgo+PiA+ID4gU2VlbXMgbGlrZSBJIGFtIHJlcGx5aW5nIHRvIHlvdXIgZW1h aWxzIGluIHJldmVyc2Ugb3JkZXIuCj4+ID4gPgo+PiA+ID4gPiBDdXJyZW50bHkgdGhlIGtlcm5l bCBjYW4gb25seSBib290IHVzaW5nIERULCBzbyBEVCB3aWxsIGJlIHVzZWQgZXZlbiBpZgo+PiA+ ID4gPiBBQ1BJIGlzIHByZXNlbnQuIEluIHRoZSBwcmVzZW5jZSBvZiBBQ1BJIHN1cHBvcnQgaW4g dGhlIGtlcm5lbCwgQUNQSQo+PiA+ID4gPiB3b3VsZCBiZSB1c2VkIG9uIHNhaWQgc3lzdGVtcy4K Pj4gPiA+Cj4+ID4gPiBGb3IgYWxsIHRoZSByZWFzb25zIHdlIGhhc2hlZCBvdXQgZWFybGllciB0 aGlzIHllYXI6IFdlIGNhbid0IHRydXN0IHRoYXQKPj4gPiA+IHZlbmRvcnMgd2lsbCBrbm93IGhv dyB0byBkbyBBQ1BJIGZyb20gZGF5IG9uZSwgc28gaW5zdGVhZCBvZiBsb2FkaW5nIHVwIHRoZQo+ PiA+ID4ga2VybmVsIHdpdGggbG90cyBvZiBxdWlya3MgYW5kIHdvcmthcm91bmRzLCB3ZSdsbCBk ZWZhdWx0IHRvIG5vdCB1c2luZyBpdCB1bnRpbAo+PiA+ID4gd2UncmUgYXQgYSBwb2ludCB3aGVy ZSB0aGluZ3MgbG9vayBtYXR1cmUgZW5vdWdoLgo+PiA+ID4KPj4gPiA+IFRoZSBhbHRlcm5hdGl2 ZSBpcyB0byBrZWVwIHRoaXMgcGF0Y2ggc2V0IG91dCBvZiB0aGUga2VybmVsLiBXZSBjYW4gZG8g dGhhdAo+PiA+ID4gdG9vLCBidXQgSSBkb24ndCB0aGluayB0aGF0IHJlYWxseSBoZWxwcyBhbnlv bmUuCj4+ID4gPgo+PiA+ID4gPiBGcm9tIHRoZSBkaXNjdXNzaW9ucyBhdCB0aGUgbGFzdCBMaW5h cm8gQ29ubmVjdCwgdGhpcyB3YXMgc2VlbiBhcwo+PiA+ID4gPiBpbXBvcnRhbnQgZm9yIHZpcnR1 YWwgbWFjaGluZXMgd2hpY2ggd2FudCB0byBwcm92aWRlIEFDUEkgc2VydmljZXMgdG8KPj4gPiA+ ID4gZ3Vlc3RzIHdoaWxlIHN0aWxsIGJlaW5nIGFibGUgdG8gYm9vdCBEVC1vbmx5IGtlcm5lbHMu IEknbGwgbGVhdmUgaXQgdG8KPj4gPiA+ID4gR3JhbnQsIFJvYiwgYW5kIENocmlzdG9mZmVyIHRv IGNvdmVyIHRoYXQuCj4+ID4gPgo+PiA+ID4gT2ssIHdhaXRpbmcgdG8gc2VlIHdoYXQgdGhleSBo YXZlIHRvIHNheSB0aGVuLgo+PiA+ID4KPj4gPgo+PiA+IEhtbSwgYSB2aXJ0dWFsIG1hY2hpbmUg aW1wbGVtZW50YWlvbiBtYXkgcHJvdmlkZSBlaXRoZXIgYSBEVCBvciBBQ1BJIChvcgo+PiA+IGJv dGgpLiAgSSB0aGluayB0aGUgcG9pbnQgYXQgTGluYXJvIENvbm5lY3Qgd2FzIHRoYXQgZm9yIGEg Zmlyc3QgY3V0LAo+PiA+IHRoZXJlIGlzIG5vIG9idmlvdXMgbmVlZCB0byBwcm92aWRlIEFDUEkg dG8gVk1zIGFuZCB0byBiZSBzcGVjCj4+ID4gY29tcGxpYW50LCBzZXJ2ZXIga2VybmVscyBtdXN0 IGJlIGFibGUgdG8gYm9vdCB3aXRoIERULW9ubHkuICBJbiBtb3N0Cj4+ID4gY2FzZXMgc3VjaCBz eXN0ZW1zIHdpbGwgb25seSBhY2Nlc3MgYSBmZXcgbGltaXRlZCBlbXVsYXRlZCBkZXZpY2VzCj4+ ID4gKFVBUlQsIEdJQywgUlRDLCBmbGFzaCBjb250cm9sbGVyKSBhbmQgVmlydElPIGRldmljZXMs IHdoaWNoIHNob3VsZCBqdXN0Cj4+ID4gd29yayB1c2luZyBEVCBvbmx5Lgo+PiA+Cj4+ID4gUGVv cGxlIGFyZSB0YWxraW5nIGFib3V0IGFkZGluZyBBQ1BJIGZvciBWTSBndWVzdHMgYXMgd2VsbCBm b3IgdmFyaW91cwo+PiA+IHJlYXNvbnMgKGRldmljZSBwYXNzdGhyb3VnaCBmb3IgZXhhbXBsZSkg aW4gd2hpY2ggY2FzZSBJIHdvdWxkIGFsd2F5cwo+PiA+IGV4cGVjdCBwZW9wbGUgdG8gcnVuIFVF RkkgaW5zaWRlIHRoZWlyIGd1ZXN0cyB0b28gKHBlcmhhcHMgdGhpcyBpcyBub3QKPj4gPiAxMDAl IHRydWUgaW4gdGhlIGNhc2Ugb2YgWGVuIGZhc3QtYm9vdCBzY2VuYXJpb3MgdGhvdWdoKSBhbmQg SSB3b3VsZAo+PiA+IGV4cGVjdCBMaW51eCB0byBvbmx5IHNlZSB0aGUgbGl0dGxlIHN0dWIgRFQg YW5kIEFDUEkuCj4+ID4KPj4gPiBEb2VzIHRoaXMgY2xhcmlmeSBhbnl0aGluZyBvciBhZGQgZnV0 aGVyIHRvIHRoZSBjb25mdXNpb24/Cj4+Cj4+IEkgd2FzIHVuZGVyIHRoZSBpbXByZXNzaW9uIHRo YXQgdGhlcmUgd2FzIGEgY2FzZSB3aGVyZSB3ZSdkIGhhdmUgYSBEVAo+PiB3aXRoIEhXIGRlc2Ny aXB0aW9uIGluIGEgVk0gd2hpY2ggYWxzbyBoYWQgQUNQSSB0YWJsZXMsIHRvIGVuYWJsZSBhCj4+ IGtlcm5lbCB3aXRob3V0IEFDUEkgc3VwcG9ydCB0byBib290IGluIHNhaWQgVk0gKGFsYmVpdCB3 aXRoIHJlZHVjZWQKPj4gZnVuY3Rpb25hbGl0eSkuCj4+Cj4+IEkgbWF5IGhhdmUgZ290IGNvbmZ1 c2VkIHNpbmNlIHRoZSBWTSBzdGFuZGFyZHMgZGlzY3Vzc2lvbiBhdCBMQ0EtMTQuCj4KPiBJIHRv b2sgYSBsb29rIGF0IHRoZSB2aWRlbyBbMSwyXSBvZiBzYWlkIHNlc3Npb24gWzNdLCBhbmQgaXQg bG9va3MgbGlrZQo+IEkgd2FzIHRoZSBvbmUgYXJndWluZyBmb3IgdGhlIGNhc2Ugb2YgZnVsbCBk ZXNjcmlwdGlvbiBpbiBib3RoIERUIGFuZAo+IEFDUEksIHNvIGVpdGhlciBJIHdhcyBjb25mdXNl ZCBvciBJJ3ZlIGZvcmdvdHRlbiBzb21lIGhhbGx3YXkKPiBkaXNjdXNzaW9uLgo+Cj4gSSB0aGlu ayBteSByZWFzb25pbmcgd2FzIHNvbWV3aGF0IGZsYXdlZDsgaWYgdGhlIGh5cGVydmlzb3IgZGVm YXVsdHMgdG8KPiBwcm92aWRpbmcgRFQsIHdpdGggYW4gb3B0aW9uIHRvIHVzZSBBQ1BJIGluIGNl cnRhaW4gY2FzZXMgKHdoZXJlIG5vdCBhbGwKPiBndWVzdHMgd291bGQgYmUgZXhwZWN0ZWQgdG8g d29yayksIHRoZW4gdGhhdCB3b3VsZCBjb3ZlciB0aGUgImdyYWIgYW4KPiBpc28sIGl0IGp1c3Qg d29ya3PihKIiIHVzZSBjYXNlIGZvciBMaW51eCBpbWFnZXMgd2hpbGUgYWxsb3dpbmcgZm9yCj4g dGhlIGNhc2VzIHdoZXJlIHBlb3BsZSB3YW50IEFDUEkgaW4gdGhlIFZNLgo+Cj4gVGhlIG9ubHkg aXNzdWUgd2l0aCB0aGF0IHdvdWxkIGJlIGNhdGVyaW5nIGZvciBPU3Mgd2hpY2ggc3VwcG9ydCBB Q1BJCj4gYnV0IG5vdCBEVCBvciB3aG9zZSBEVCBzdXBwb3J0IGlzIG5vdCBMaW51eC1jb21wYXRp YmxlLgo+ClNvIEkgdGhpbmsgdGhpcyBpcyB3aGVyZSB0aGUgc3BlYyBpcyByZWFsbHkgdXNlZnVs LiAgRWl0aGVyIHlvdSdyZQpzcGVjIGNvbXBsaWFudCBvciB5b3UncmUgbm90LiAgRGlzdHJvIGlt YWdlcyB3aWxsIG5lZWQgdG8gc3VwcG9ydCBEVAppZiB0aGV5J3JlIHNwZWMgY29tcGxpYW50IHRv IHYxIG9mIHRoZSBzcGVjICh5ZXMsIGl0J3Mgb24gbXkgdG9kbyBsaXN0CnRvIHB1Ymxpc2ggdGhp cyBwcm9wZXJseSwgYnV0IHRoZSBob2xkIHVwIGlzIG5vdCBhbGwgbXkgZmF1bHQpLgoKQSB2MiBv ZiB0aGUgc3BlYyBtYXkgbWVudGlvbiBBQ1BJLCBhbmQgaXQgbWF5IG5vdCwgYW5kIHdlIGNhbiBk ZWFsCndpdGggdGhhdCBwcm9ibGVtIHRoZW4uCgpGb3IgcmVmZXJlbmNlLCBSZWQgSGF0J3MgY3Vy cmVudCBhcmd1aW5nIHBvaW50IGZvciBBQ1BJIGluIFZNcyBpcwpob3RwbHVnIG9mIHRoaW5ncyBs aWtlIENQVXMgYW5kIG1lbW9yeSBmb3IgdmVyeSBsYXJnZSBWTXMsIGJ1dCBJCmhhdmVuJ3QgdGhv dWdodCB0b28gY2FyZWZ1bGx5IGFib3V0IHRoaXMganVzdCB5ZXQsIGFzIEkgZG9uJ3QgaGF2ZSBh CjEwMCsgY29yZSBBUk0gNjQtYml0IGhhcmR3YXJlIGx5aW5nIGFyb3VuZC4uLgoKLUNocmlzdG9m ZmVyCgpfX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fXwpsaW51 eC1hcm0ta2VybmVsIG1haWxpbmcgbGlzdApsaW51eC1hcm0ta2VybmVsQGxpc3RzLmluZnJhZGVh ZC5vcmcKaHR0cDovL2xpc3RzLmluZnJhZGVhZC5vcmcvbWFpbG1hbi9saXN0aW5mby9saW51eC1h cm0ta2VybmVsCg== From mboxrd@z Thu Jan 1 00:00:00 1970 From: christoffer.dall@linaro.org (Christoffer Dall) Date: Tue, 29 Jul 2014 14:37:38 +0200 Subject: [PATCH 19/19] Documentation: ACPI for ARM64 In-Reply-To: <20140729112824.GM2576@leverpostej> References: <1406206825-15590-1-git-send-email-hanjun.guo@linaro.org> <1406206825-15590-20-git-send-email-hanjun.guo@linaro.org> <20140728100654.GC24078@leverpostej> <20140728164459.GD32359@quad.lixom.net> <20140729102940.GB18250@cbox> <20140729105543.GL2576@leverpostej> <20140729112824.GM2576@leverpostej> Message-ID: To: linux-arm-kernel@lists.infradead.org List-Id: linux-arm-kernel.lists.infradead.org On 29 July 2014 13:28, Mark Rutland wrote: > On Tue, Jul 29, 2014 at 11:55:43AM +0100, Mark Rutland wrote: >> On Tue, Jul 29, 2014 at 11:29:40AM +0100, Christoffer Dall wrote: >> > On Mon, Jul 28, 2014 at 09:44:59AM -0700, Olof Johansson wrote: >> > > On Mon, Jul 28, 2014 at 11:06:54AM +0100, Mark Rutland wrote: >> > >> > [...] >> > >> > > > > >> > > > > > +Relationship with Device Tree >> > > > > > +----------------------------- >> > > > > > + >> > > > > > +ACPI support in drivers and subsystems for ARMv8 should never be mutually >> > > > > > +exclusive with DT support at compile time. >> > > > > > + >> > > > > > +At boot time the kernel will only use one description method depending on >> > > > > > +parameters passed from the bootloader. >> > > > > >> > > > > Possibly overriden by kernel bootargs. And as debated for quite a >> > > > > while earlier this year, acpi should still default to off -- if a DT >> > > > > and ACPI are both passed in, DT should at this time be given priority. >> > > > >> > > > Why? I really don't see the logic in doing that. >> > > >> > > Seems like I am replying to your emails in reverse order. >> > > >> > > > Currently the kernel can only boot using DT, so DT will be used even if >> > > > ACPI is present. In the presence of ACPI support in the kernel, ACPI >> > > > would be used on said systems. >> > > >> > > For all the reasons we hashed out earlier this year: We can't trust that >> > > vendors will know how to do ACPI from day one, so instead of loading up the >> > > kernel with lots of quirks and workarounds, we'll default to not using it until >> > > we're at a point where things look mature enough. >> > > >> > > The alternative is to keep this patch set out of the kernel. We can do that >> > > too, but I don't think that really helps anyone. >> > > >> > > > From the discussions at the last Linaro Connect, this was seen as >> > > > important for virtual machines which want to provide ACPI services to >> > > > guests while still being able to boot DT-only kernels. I'll leave it to >> > > > Grant, Rob, and Christoffer to cover that. >> > > >> > > Ok, waiting to see what they have to say then. >> > > >> > >> > Hmm, a virtual machine implementaion may provide either a DT or ACPI (or >> > both). I think the point at Linaro Connect was that for a first cut, >> > there is no obvious need to provide ACPI to VMs and to be spec >> > compliant, server kernels must be able to boot with DT-only. In most >> > cases such systems will only access a few limited emulated devices >> > (UART, GIC, RTC, flash controller) and VirtIO devices, which should just >> > work using DT only. >> > >> > People are talking about adding ACPI for VM guests as well for various >> > reasons (device passthrough for example) in which case I would always >> > expect people to run UEFI inside their guests too (perhaps this is not >> > 100% true in the case of Xen fast-boot scenarios though) and I would >> > expect Linux to only see the little stub DT and ACPI. >> > >> > Does this clarify anything or add futher to the confusion? >> >> I was under the impression that there was a case where we'd have a DT >> with HW description in a VM which also had ACPI tables, to enable a >> kernel without ACPI support to boot in said VM (albeit with reduced >> functionality). >> >> I may have got confused since the VM standards discussion at LCA-14. > > I took a look at the video [1,2] of said session [3], and it looks like > I was the one arguing for the case of full description in both DT and > ACPI, so either I was confused or I've forgotten some hallway > discussion. > > I think my reasoning was somewhat flawed; if the hypervisor defaults to > providing DT, with an option to use ACPI in certain cases (where not all > guests would be expected to work), then that would cover the "grab an > iso, it just works?" use case for Linux images while allowing for > the cases where people want ACPI in the VM. > > The only issue with that would be catering for OSs which support ACPI > but not DT or whose DT support is not Linux-compatible. > So I think this is where the spec is really useful. Either you're spec compliant or you're not. Distro images will need to support DT if they're spec compliant to v1 of the spec (yes, it's on my todo list to publish this properly, but the hold up is not all my fault). A v2 of the spec may mention ACPI, and it may not, and we can deal with that problem then. For reference, Red Hat's current arguing point for ACPI in VMs is hotplug of things like CPUs and memory for very large VMs, but I haven't thought too carefully about this just yet, as I don't have a 100+ core ARM 64-bit hardware lying around... -Christoffer