From mboxrd@z Thu Jan 1 00:00:00 1970 From: Claudio Fontana Subject: Re: [RFC v2] ARM VM System Specification Date: Tue, 10 Jun 2014 18:44:59 +0200 Message-ID: <5397360B.80102@huawei.com> References: <20140328184517.GA27219@cbox> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Cc: Michael Casadevall , Ian Campbell , Rob Herring , Leif Lindholm , Robie Basak , Stefano Stabellini , Grant Likely To: Christoffer Dall , , , , , Return-path: In-Reply-To: <20140328184517.GA27219@cbox> 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 List-Id: kvm.vger.kernel.org SGVsbG8gYWxsLAoKSSBqdXN0IHdhbnRlZCB0byBzaGFyZSB3aXRoIHlvdSBndXlzIGhvdyB3ZSBh cmUgdXNpbmcgdmlydHVhbGl6YXRpb24gb24gQVJNNjQgb3ZlciBoZXJlIGZvciB0aGUgT1N2IHBy b2plY3QuCkkgZG9uJ3Qga25vdyBpZiB0aGF0J3Mgc29tZXRoaW5nIHRoYXQgY291bGQgYmUgdXNl ZnVsIGZvciB5b3VyIHNwZWNpZmljYXRpb24gZWZmb3J0LgoKSW4gT1N2LCBjcmVhdGluZyBhbmQg c3RhcnRpbmcgYSBWTSB0byBzb21lIGxldmVsIG1lYW5zIHN0YXJ0aW5nIGFuIGFwcGxpY2F0aW9u LgpUaGF0IGlzLCBPU3Ygc2hvdWxkIGJlIGEgdmVyeSB0aGluIGJhcmUgYm9uZXMgZ3Vlc3Qgc2Vy dmVyIE9TLCB3aGljaCBhbHNvIGFjdHMgYXMgYSBraW5kIG9mIHJ1bi10aW1lIGxpYnJhcnkgZm9y IGFuIGFwcGxpY2F0aW9uIHRvIHJ1bi4KQWxsIHRoZSBkZXZpY2VzIGFyZSBhc3N1bWVkIHRvIGJl IHZpcnR1YWxpemVkIGFuZCBoZWF2aWx5IHJlbHlpbmcgb24gdmlydGlvLgoKVGhlcmVmb3JlIHdl IHNlZSBhIGhpZ2hlciBuZWVkIGZvciBxdWljayBWTSBsYXVuY2ggdGhhbiBpdCBtaWdodCBiZSBm b3Igb3RoZXIgdXNlIGNhc2VzLgoKT25lIGFzcGVjdCBvZiB0aGlzIGlzIHRoYXQgd2UgY3VycmVu dGx5IHN0YXJ0IGV4ZWN1dGluZyB0aGUgaW1hZ2UgZGlyZWN0bHkgKG5vIFVFRkkgaW52b2x2ZWQg b24gdGhlIGd1ZXN0KSwKYW5kIGluIHNvbWUgY2FzZXMgd2UgbWlnaHQgbm90IG5lZWQgYSBmdWxs IGZsZWRnZWQgZmlsZSBzeXN0ZW0gYXQgYWxsLAphcyB0aGUgY29tbXVuaWNhdGlvbiBjYW4gaGFw cGVuIHZpYSB2aXJ0aW8gY2hhbm5lbHMuCgpXZSBkbyBoYXZlIGEgbmVlZCBmb3IgQUNQSSBmb3Ig ZGlzY292ZXJ5IG9mIGluZm9ybWF0aW9uIGxpa2UgZ2ljIGFkZHJlc3NlcywgdGltZXJzLCBpbnRl cnJ1cHRzLi4uIChubyBpbnRlcmVzdCBvbiBkZXZpY2UgdHJlZXMsIHJlYWxseSksIGFuZCBvZiBQ Q0ktRS4KCkJ5IHNraXBwaW5nIHN0ZXBzIGxpa2UgVUVGSSwgZ3J1YiwgZmlybXdhcmUgbG9hZCwg ZXRjIHdlIHN0cml2ZSB0byBrZWVwIG91ciBhcHBsaWNhdGlvbiBsYXVuY2ggdGltZSBsb3cuCklz IHRoaXMgZ29pbmcgdG8gY3JlYXRlIHByb2JsZW1zIGZvciB1cyBpbiB0aGUgZnV0dXJlIGlmIHlv dSBzdGFydCByZXF1aXJpbmcgZXZlcnkgVk0gdG8gYm9vdCB1c2luZyB0aG9zZSBpbnN0ZWFkPwoK VGhhbmsgeW91IGZvciB5b3VyIGNvbW1lbnRzLAoKQ2xhdWRpbwoKCk9uIDI4LjAzLjIwMTQgMTk6 NDUsIENocmlzdG9mZmVyIERhbGwgd3JvdGU6Cj4gQVJNIFZNIFN5c3RlbSBTcGVjaWZpY2F0aW9u Cj4gPT09PT09PT09PT09PT09PT09PT09PT09PT09Cj4gCj4gR29hbAo+IC0tLS0KPiBUaGUgZ29h bCBvZiB0aGlzIHNwZWMgaXMgdG8gYWxsb3cgc3VpdGFibHktYnVpbHQgT1MgaW1hZ2VzIHRvIHJ1 biBvbgo+IGFsbCBBUk0gdmlydHVhbGl6YXRpb24gc29sdXRpb25zLCBzdWNoIGFzIEtWTSBvciBY ZW4uCj4gCj4gUmVjb21tZW5kYXRpb25zIGluIHRoaXMgc3BlYyBhcmUgdmFsaWQgZm9yIGFhcmNo MzIgYW5kIGFhcmNoNjQgYWxpa2UsIGFuZAo+IHRoZXkgYWltIHRvIGJlIGh5cGVydmlzb3IgYWdu b3N0aWMuCj4gCj4gTm90ZSB0aGF0IHNpbXBseSBhZGhlcmluZyB0byB0aGUgU0JTQSBbMl0gaXMg bm90IGEgdmFsaWQgYXBwcm9hY2gsIGZvcgo+IGV4YW1wbGUgYmVjYXVzZSB0aGUgU0JTQSBtYW5k YXRlcyBFTDIsIHdoaWNoIHdpbGwgbm90IGJlIGF2YWlsYWJsZSBmb3IKPiBWTXMuICBGdXJ0aGVy LCB0aGlzIHNwZWMgYWxzbyBjb3ZlcnMgdGhlIGFhcmNoMzIgZXhlY3V0aW9uIG1vZGUsIG5vdAo+ IGNvdmVyZWQgaW4gdGhlIFNCU0EuCj4gCj4gCj4gSW1hZ2UgZm9ybWF0Cj4gLS0tLS0tLS0tLS0t Cj4gVGhlIGltYWdlIGZvcm1hdCwgYXMgcHJlc2VudGVkIHRvIHRoZSBWTSwgbmVlZHMgdG8gYmUg d2VsbC1kZWZpbmVkIGluCj4gb3JkZXIgZm9yIHByZXBhcmVkIGRpc2sgaW1hZ2VzIHRvIGJlIGJv b3RhYmxlIGFjcm9zcyB2YXJpb3VzCj4gdmlydHVhbGl6YXRpb24gaW1wbGVtZW50YXRpb25zLgo+ IAo+IFRoZSByYXcgZGlzayBmb3JtYXQgYXMgcHJlc2VudGVkIHRvIHRoZSBWTSBtdXN0IGJlIHBh cnRpdGlvbmVkIHdpdGggYQo+IEdVSUQgUGFydGl0aW9uIFRhYmxlIChHUFQpLiAgVGhlIGJvb3Rh YmxlIHNvZnR3YXJlIG11c3QgYmUgcGxhY2VkIGluIHRoZQo+IEVGSSBTeXN0ZW0gUGFydGl0aW9u IChFU1ApLCB1c2luZyB0aGUgVUVGSSByZW1vdmFibGUgbWVkaWEgcGF0aCwgYW5kCj4gbXVzdCBi ZSBhbiBFRkkgYXBwbGljYXRpb24gY29tcGx5aW5nIHRvIHRoZSBVRUZJIFNwZWNpZmljYXRpb24g Mi40Cj4gUmV2aXNpb24gQSBbNl0uCj4gCj4gVGhlIEVTUCBwYXJ0aXRpb24ncyBHUFQgZW50cnkn cyBwYXJ0aXRpb24gdHlwZSBHVUlEIG11c3QgYmUKPiBDMTJBNzMyOC1GODFGLTExRDItQkE0Qi0w MEEwQzkzRUM5M0IgYW5kIHRoZSBmaWxlIHN5c3RlbSBtdXN0IGJlCj4gZm9ybWF0dGVkIGFzIEZB VDMyL3ZmYXQgYXMgcGVyIFNlY3Rpb24gMTIuMy4xLjEgaW4gWzZdLgo+IAo+IFRoZSByZW1vdmFi bGUgbWVkaWEgcGF0aCBpcyBcRUZJXEJPT1RcQk9PVEFSTS5FRkkgZm9yIHRoZSBhYXJjaDMyCj4g ZXhlY3V0aW9uIHN0YXRlIGFuZCBpcyBcRUZJXEJPT1RcQk9PVEFBNjQuRUZJIGZvciB0aGUgYWFy Y2g2NCBleGVjdXRpb24KPiBzdGF0ZSBhcyBzcGVjaWZpZWQgaW4gU2VjdGlvbiAzLjMgKDMuMyAo Qm9vdCBPcHRpb24gVmFyaWFibGVzIERlZmF1bHQgQm9vdAo+IEJlaGF2aW9yKSBhbmQgMy40LjEu MSAoUmVtb3ZhYmxlIE1lZGlhIEJvb3QgQmVoYXZpb3IpIGluIFs2XS4KPiAKPiBUaGlzIGVuc3Vy ZXMgdGhhdCB0b29scyBmb3IgYm90aCBYZW4gYW5kIEtWTSBjYW4gbG9hZCBhIGJpbmFyeSBVRUZJ Cj4gZmlybXdhcmUgd2hpY2ggY2FuIHJlYWQgYW5kIGJvb3QgdGhlIEVGSSBhcHBsaWNhdGlvbiBp biB0aGUgZGlzayBpbWFnZS4KPiAKPiBBIHR5cGljYWwgc2NlbmFyaW8gd2lsbCBiZSBHUlVCMiBw YWNrYWdlZCBhcyBhbiBFRkkgYXBwbGljYXRpb24sIHdoaWNoCj4gbW91bnRzIHRoZSBzeXN0ZW0g Ym9vdCBwYXJ0aXRpb24gYW5kIGJvb3RzIExpbnV4Lgo+IAo+IAo+IFZpcnR1YWwgRmlybXdhcmUK PiAtLS0tLS0tLS0tLS0tLS0tCj4gVGhlIFZNIHN5c3RlbSBtdXN0IGJlIFVFRkkgY29tcGxpYW50 IGluIG9yZGVyIHRvIGJlIGFibGUgdG8gYm9vdCB0aGUgRUZJCj4gYXBwbGljYXRpb24gaW4gdGhl IEVTUC4gIEl0IGlzIHJlY29tbWVuZGVkIHRoYXQgdGhpcyBpcyBhY2hpZXZlZCBieQo+IGxvYWRp bmcgYSBVRUZJIGJpbmFyeSBhcyB0aGUgZmlyc3Qgc29mdHdhcmUgZXhlY3V0ZWQgYnkgdGhlIFZN LCB3aGljaAo+IHRoZW4gZXhlY3V0ZXMgdGhlIEVGSSBhcHBsaWNhdGlvbi4gIFRoZSBVRUZJIGlt cGxlbWVudGF0aW9uIHNob3VsZCBiZQo+IGNvbXBsaWFudCB3aXRoIFVFRkkgU3BlY2lmaWNhdGlv biAyLjQgUmV2aXNpb24gQSBbNl0gb3IgbGF0ZXIuCj4gCj4gVGhpcyBkb2N1bWVudCBzdHJvbmds eSByZWNvbW1lbmRzIHRoYXQgdGhlIFZNIGltcGxlbWVudGF0aW9uIHN1cHBvcnRzCj4gcGVyc2lz dGVudCBlbnZpcm9ubWVudCBzdG9yYWdlIGZvciB2aXJ0dWFsIGZpcm13YXJlIGltcGxlbWVudGF0 aW9uIGluCj4gb3JkZXIgdG8gZW5zdXJlIHByb2JhYmxlIHVzZSBjYXNlcyBzdWNoIGFzIGFkZGlu ZyBhZGRpdGlvbmFsIGRpc2sgaW1hZ2VzCj4gdG8gYSBWTSBvciBydW5uaW5nIGluc3RhbGxlcnMg dG8gcGVyZm9ybSB1cGdyYWRlcy4KPiAKPiBUaGlzIGRvY3VtZW50IHN0cm9uZ2x5IHJlY29tbWVu ZHMgdGhhdCBWTSBpbXBsZW1lbnRhdGlvbnMgaW1wbGVtZW50Cj4gcGVyc2lzdGVudCB2YXJpYWJs ZSBzdG9yYWdlIGZvciB0aGVpciBVRUZJIGltcGxlbWVudGF0aW9uLiAgUGVyc2lzdGVudAo+IHZh cmlhYmxlIHN0b3JhZ2Ugc2hhbGwgYmUgYSBwcm9wZXJ0eSBvZiBhIFZNIGluc3RhbmNlLCBidXQg c2hhbGwgbm90IGJlCj4gc3RvcmVkIGFzIHBhcnQgb2YgYSBwb3J0YWJsZSBkaXNrIGltYWdlLiAg UG9ydGFibGUgZGlzayBpbWFnZXMgc2hhbGwKPiBjb25mb3JtIHRvIHRoZSBVRUZJIHJlbW92YWJs ZSBkaXNrIHJlcXVpcmVtZW50cyBmcm9tIHRoZSBVRUZJIHNwZWMgYW5kCj4gY2Fubm90IHJlbHkg b24gb24gYSBwcmUtY29uZmlndXJlZCBVRUZJIGVudmlyb25tZW50Lgo+IAo+IFRoZSBiaW5hcnkg VUVGSSBmaXJtd2FyZSBpbXBsZW1lbnRhdGlvbiBzaG91bGQgbm90IGJlIGRpc3RyaWJ1dGVkIGFz Cj4gcGFydCBvZiB0aGUgVk0gaW1hZ2UsIGJ1dCBpcyBzcGVjaWZpYyB0byB0aGUgVk0gaW1wbGVt ZW50YXRpb24uCj4gCj4gCj4gSGFyZHdhcmUgRGVzY3JpcHRpb24KPiAtLS0tLS0tLS0tLS0tLS0t LS0tLQo+IFRoZSBWTSBzeXN0ZW0gbXVzdCBiZSBVRUZJIGNvbXBsaWFudCBhbmQgdGhlcmVmb3Jl IHRoZSBVRUZJIHN5c3RlbSB0YWJsZQo+IHdpbGwgcHJvdmlkZSBhIG1lYW5zIHRvIGFjY2VzcyBo YXJkd2FyZSBkZXNjcmlwdGlvbiBkYXRhLgo+IAo+IFRoZSBWTSBpbXBsZW1lbnRhdGlvbiBtdXN0 IHByb3ZpZGUgdGhyb3VnaCBpdHMgVUVGSSBpbXBsZW1lbnRhdGlvbjoKPiAKPiAgIGEgY29tcGxl dGUgRkRUIHdoaWNoIGRlc2NyaWJlcyB0aGUgZW50aXJlIFZNIHN5c3RlbSBhbmQgd2lsbCBib290 Cj4gICBtYWlubGluZSBrZXJuZWxzIGRyaXZlbiBieSBkZXZpY2UgdHJlZSBhbG9uZQo+IAo+IEZv ciBtb3JlIGluZm9ybWF0aW9uIGFib3V0IHRoZSBhcm0gYW5kIGFybTY0IGJvb3QgY29udmVudGlv bnMsIHNlZQo+IERvY3VtZW50YXRpb24vYXJtL0Jvb3RpbmcgYW5kIERvY3VtZW50YXRpb24vYXJt NjQvYm9vdGluZy50eHQgaW4gdGhlCj4gTGludXgga2VybmVsIHNvdXJjZSB0cmVlLgo+IAo+IEZv ciBtb3JlIGluZm9ybWF0aW9uIGFib3V0IFVFRkkgYm9vdGluZywgc2VlIFs0XSBhbmQgWzVdLgo+ IAo+IAo+IFZNIFBsYXRmb3JtCj4gLS0tLS0tLS0tLS0KPiBUaGUgc3BlY2lmaWNhdGlvbiBkb2Vz IG5vdCBtYW5kYXRlIGFueSBzcGVjaWZpYyBtZW1vcnkgbWFwLiAgVGhlIGd1ZXN0Cj4gT1MgbXVz dCBiZSBhYmxlIHRvIGVudW1lcmF0ZSBhbGwgcHJvY2Vzc2luZyBlbGVtZW50cywgZGV2aWNlcywg YW5kCj4gbWVtb3J5IHRocm91Z2ggSFcgZGVzY3JpcHRpb24gZGF0YSAoRkRUKSBvciBhIGJ1cy1z cGVjaWZpYwo+IG1lY2hhbmlzbSBzdWNoIGFzIFBDSS4KPiAKPiBJZiBhYXJjaDY0IHBoeXNpY2Fs IENQVXMgaW1wbGVtZW50IHN1cHBvcnQgZm9yIHRoZSBhYXJjaDMyIGV4ZWN1dGlvbgo+IHN0YXRl IGluIEVMMSBhbmQgRUwwIGV4ZWN1dGlvbiwgaXQgaXMgcmVjb21tZW5kZWQgdGhhdCB0aGUgVk0K PiBpbXBsZW1lbnRhdGlvbiBzdXBwb3J0cyBib290aW5nIHRoZSBWTSBhdCBFTDEgaW4gYm90aCBh YXJjaDMyIGFuZAo+IGFhcmNoNjQgZXhlY3V0aW9uIHN0YXRlcy4KPiAKPiBUaGUgdmlydHVhbCBo YXJkd2FyZSBwbGF0Zm9ybSBtdXN0IHByb3ZpZGUgYSBudW1iZXIgb2YgbWFuZGF0b3J5Cj4gcGVy aXBoZXJhbHM6Cj4gCj4gICBTZXJpYWwgY29uc29sZTogIFRoZSBwbGF0Zm9ybSBzaG91bGQgcHJv dmlkZSBhIGNvbnNvbGUsCj4gICBiYXNlZCBvbiBhbiBlbXVsYXRlZCBwbDAxMSwgYSB2aXJ0aW8t Y29uc29sZSwgb3IgYSBYZW4gUFYgY29uc29sZS4KPiAKPiAgIEFuIEFSTSBHZW5lcmljIEludGVy cnVwdCBDb250cm9sbGVyIHYyIChHSUN2MikgWzNdIG9yIG5ld2VyLiAgR0lDdjIKPiAgIGxpbWl0 cyB0aGUgdGhlIG51bWJlciBvZiB2aXJ0dWFsIENQVXMgdG8gOCBjb3JlcywgbmV3ZXIgR0lDIHZl cnNpb25zCj4gICByZW1vdmVzIHRoaXMgbGltaXRhdGlvbi4KPiAKPiAgIFRoZSBBUk0gdmlydHVh bCB0aW1lciBhbmQgY291bnRlciBzaG91bGQgYmUgYXZhaWxhYmxlIHRvIHRoZSBWTSBhcwo+ICAg cGVyIHRoZSBBUk0gR2VuZXJpYyBUaW1lcnMgc3BlY2lmaWNhdGlvbiBpbiB0aGUgQVJNIEFSTSBb MV0uCj4gCj4gSXQgaXMgc3Ryb25nbHkgcmVjb21tZW5kZWQgdGhhdCB0aGUgVk0gaW1wbGVtZW50 YXRpb24gcHJvdmlkZXMgYQo+IGhvdHBsdWdnYWJsZSBidXMgdG8gc3VwcG9ydCBob3RwbHVnIG9m IGF0IGxlYXN0IGJsb2NrIGFuZCBuZXR3b3JrCj4gZGV2aWNlcy4gIFN1aXRhYmxlIGJ1c2VzIGlu Y2x1ZGUgYSB2aXJ0dWFsIFBDSWUgYnVzIGFuZCB0aGUgWGVuIFBWIGJ1cy4KPiAKPiBGb3IgdGhl IFZNIGltYWdlIHRvIGJlIGNvbXBsaWFudCB3aXRoIHRoaXMgc3BlYywgdGhlIGZvbGxvd2luZyBh cHBsaWVzCj4gZm9yIHRoZSBndWVzdCBPUyBpbiB0aGUgVk0gaW1hZ2U6Cj4gCj4gICBUaGUgZ3Vl c3QgT1MgbXVzdCBpbmNsdWRlIHN1cHBvcnQgZm9yIHBsMDExIFVBUlQsIHZpcnRpby1jb25zb2xl LCBhbmQKPiAgIHRoZSBYZW4gUFYgY29uc29sZS4KPiAKPiAgIFRoZSBndWVzdCBPUyBtdXN0IGlu Y2x1ZGUgc3VwcG9ydCBmb3IgR0lDdjIgYW5kIGFueSBhdmFpbGFibGUgbmV3ZXIKPiAgIHZlcnNp b24gb2YgdGhlIEdJQyBhcmNoaXRlY3R1cmUgdG8gbWFpbnRhaW4gY29tcGF0aWJpbGl0eSB3aXRo IG9sZGVyCj4gICBWTSBpbXBsZW1lbnRhdGlvbnMuCj4gCj4gICBJdCBpcyBzdHJvbmdseSByZWNv bW1lbmRlZCB0byBpbmNsdWRlIHN1cHBvcnQgZm9yIGFsbCBhdmFpbGFibGUKPiAgIChibG9jaywg bmV0d29yaywgY29uc29sZSwgYmFsbG9vbikgdmlydGlvLXBjaSwgdmlydGlvLW1taW8sIGFuZCBY ZW4gUFYKPiAgIGRyaXZlcnMgaW4gdGhlIGd1ZXN0IE9TIGtlcm5lbCBvciBpbml0aWFsIHJhbWRp c2suCj4gCj4gCj4gT3RoZXIgY29tbW9uIHBlcmlwaGVyYWxzIGZvciBibG9jayBkZXZpY2VzLCBu ZXR3b3JraW5nLCBhbmQgbW9yZSBjYW4KPiAoYW5kIHR5cGljYWxseSB3aWxsKSBiZSBwcm92aWRl ZCwgYnV0IE9TIHNvZnR3YXJlIHdyaXR0ZW4gYW5kIGNvbXBpbGVkCj4gdG8gcnVuIG9uIEFSTSBW TXMgY2Fubm90IG1ha2UgYW55IGFzc3VtcHRpb25zIGFib3V0IHdoaWNoIHZhcmlhdGlvbnMKPiBv ZiB0aGVzZSBzaG91bGQgZXhpc3Qgb3Igd2hpY2ggaW1wbGVtZW50YXRpb24gdGhleSB1c2UgKGUu Zy4gVmlydElPIG9yCj4gWGVuIFBWKS4gIFNlZSAiSGFyZHdhcmUgRGVzY3JpcHRpb24iIGFib3Zl Lgo+IAo+IAo+IENoYW5nZXMgZnJvbSBwcmV2aW91cyB2ZXJzaW9ucyBvZiB0aGlzIFJGQwo+IC0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQo+IENoYW5nZXMgdjEtdjI6 Cj4gIC0gQ2xlYXJseSBzcGVjaWZ5IHRoYXQgdGhlIGd1ZXN0IG11c3Qgc3VwcG9ydCB0aGUgcGww MTEsCj4gICAgdmlydGlvLWNvbnNvbGUsIGFuZCBYZW4gUFYgY29uc29sZS4gIChOb3RlIHRoYXQg aXQgd2FzIGRpc2N1c3NlZCB0bwo+ICAgIG1hbmRhdGUgYSBwbDAxMSBkdXJpbmcgTGluYXJvIENv bm5lY3QgQXNpYSAyMDE0LCBidXQgdGhhdCB3YXMgdW5kZXIgdGhlCj4gICAgaW1wcmVzc2lvbiB0 aGF0IHRoZSBTQlNBIHNwZWNpZmljYXRpb24gd2FzIGFuIG91dHB1dC1vbmx5IG5vLWlycQo+ICAg IHNlcmlhbCBwb3J0LCB3aGljaCBpcyBub3QgdGhlIGNhc2UuICBUaGUgb25seSB0d28gYmVuZWZp dHMgZnJvbQo+ICAgIG1hbmRhdGluZyBhIHNwZWNpZmljIHNlcmlhbCB0eXBlIHdhcyB0byBoYW5k bGUgImNvbnNvbGU9dHR5QU1BMCIKPiAgICBrZXJuZWwgY29tbWFuZCBsaW5lIHBhcmFtZXRlcnMg YW5kIGVhcmx5cHJpbnRrOyBHcmFudCBMaWtlbHkgaGFzCj4gICAgc3VibWl0dGVkIHBhdGNoZXMg dG8gYXZvaWQgdGhlIG5lZWQgZm9yICJjb25zb2xlPSIgcGFyYW1ldGVycywgYW5kCj4gICAgUm9i IEhlcnJpbmcgaGFzIHN1Ym1pdHRlZCBwYXRjaGVzIGZvciBwYXJhdmlydHVhbGl6ZWQgZWFybHlw cmludGsKPiAgICBjb25zb2xlcy4pCj4gIC0gUmVmZXJlbmNlIEVGSSBzcGVjaWZpY2F0aW9uIGZv ciBib290YWJsZSBwYXRocy4KPiAgLSBSZW1vdmUgZGlzY3Vzc2lvbiBvbiBBQ1BJIGJvb3QgbWV0 aG9kcyBhbmQgZG8gbm90IHN1Z2dlc3QgQUNQSQo+ICAgIHN1cHBvcnQgaW4gVk1zLgo+ICAtIEFk ZCBzcGVjaWZpY2F0aW9uIGFib3V0IFVFRkkgcGVyc2lzdGVudCB2YXJpYWJsZSBzdG9yYWdlIGFu ZAo+ICAgIHBvcnRhYmlsaXR5Lgo+IAo+IAo+IFJlZmVyZW5jZXMKPiAtLS0tLS0tLS0tCj4gWzFd OiBUaGUgQVJNIEFyY2hpdGVjdHVyZSBSZWZlcmVuY2UgTWFudWFsLCBBUk12OCwgSXNzdWUgQS5i Cj4gaHR0cDovL2luZm9jZW50ZXIuYXJtLmNvbS9oZWxwL2luZGV4LmpzcD90b3BpYz0vY29tLmFy bS5kb2MuZGRpMDQ4N2EuYi9pbmRleC5odG1sCj4gCj4gWzJdOiBBUk0gU2VydmVyIEJhc2UgU3lz dGVtIEFyY2hpdGVjdHVyZQo+IGh0dHA6Ly9pbmZvY2VudGVyLmFybS5jb20vaGVscC9pbmRleC5q c3A/dG9waWM9L2NvbS5hcm0uZG9jLmRlbjAwMjkvaW5kZXguaHRtbAo+IAo+IFszXTogVGhlIEFS TSBHZW5lcmljIEludGVycnVwdCBDb250cm9sbGVyIEFyY2hpdGVjdHVyZSBTcGVjaWZpY2F0aW9u cyB2Mi4wCj4gaHR0cDovL2luZm9jZW50ZXIuYXJtLmNvbS9oZWxwL2luZGV4LmpzcD90b3BpYz0v Y29tLmFybS5kb2MuZGRpMDQ4N2EuYi9pbmRleC5odG1sCj4gCj4gWzRdOiBodHRwOi8vd3d3LnNl Y3JldGxhYi5jYS9hcmNoaXZlcy8yNwo+IAo+IFs1XTogaHR0cHM6Ly9naXQubGluYXJvLm9yZy9w ZW9wbGUvbGVpZi5saW5kaG9sbS9saW51eC5naXQvYmxvYi9yZWZzL2hlYWRzL3VlZmktZm9yLXVw c3RyZWFtOi9Eb2N1bWVudGF0aW9uL2FybS91ZWZpLnR4dAo+IAo+IFs2XTogVUVGSSBTcGVjaWZp Y2F0aW9uIDIuNCBSZXZpc2lvbiBBCj4gaHR0cDovL3d3dy51ZWZpLm9yZy9zaXRlcy9kZWZhdWx0 L2ZpbGVzL3Jlc291cmNlcy8yXzRfRXJyYXRhX0EucGRmCj4gX19fX19fX19fX19fX19fX19fX19f X19fX19fX19fX19fX19fX19fX19fX19fX18KPiBrdm1hcm0gbWFpbGluZyBsaXN0Cj4ga3ZtYXJt QGxpc3RzLmNzLmNvbHVtYmlhLmVkdQo+IGh0dHBzOi8vbGlzdHMuY3MuY29sdW1iaWEuZWR1L21h aWxtYW4vbGlzdGluZm8va3ZtYXJtCj4gCgoKLS0gCkNsYXVkaW8gRm9udGFuYQpTZXJ2ZXIgVmly dHVhbGl6YXRpb24gQXJjaGl0ZWN0Ckh1YXdlaSBUZWNobm9sb2dpZXMgRHVlc3NlbGRvcmYgR21i SApSaWVzc3RyYcOfZSAyNSAtIDgwOTkyIE3DvG5jaGVuCgpvZmZpY2U6ICs0OSA4OSAxNTg4MzQg NDEzNQptb2JpbGU6ICs0OSAxNTI1MzA2MDE1OAoKCl9fX19fX19fX19fX19fX19fX19fX19fX19f X19fX19fX19fX19fX19fX19fX19fCmxpbnV4LWFybS1rZXJuZWwgbWFpbGluZyBsaXN0CmxpbnV4 LWFybS1rZXJuZWxAbGlzdHMuaW5mcmFkZWFkLm9yZwpodHRwOi8vbGlzdHMuaW5mcmFkZWFkLm9y Zy9tYWlsbWFuL2xpc3RpbmZvL2xpbnV4LWFybS1rZXJuZWwK From mboxrd@z Thu Jan 1 00:00:00 1970 From: claudio.fontana@huawei.com (Claudio Fontana) Date: Tue, 10 Jun 2014 18:44:59 +0200 Subject: [RFC v2] ARM VM System Specification In-Reply-To: <20140328184517.GA27219@cbox> References: <20140328184517.GA27219@cbox> Message-ID: <5397360B.80102@huawei.com> To: linux-arm-kernel@lists.infradead.org List-Id: linux-arm-kernel.lists.infradead.org Hello all, I just wanted to share with you guys how we are using virtualization on ARM64 over here for the OSv project. I don't know if that's something that could be useful for your specification effort. In OSv, creating and starting a VM to some level means starting an application. That is, OSv should be a very thin bare bones guest server OS, which also acts as a kind of run-time library for an application to run. All the devices are assumed to be virtualized and heavily relying on virtio. Therefore we see a higher need for quick VM launch than it might be for other use cases. One aspect of this is that we currently start executing the image directly (no UEFI involved on the guest), and in some cases we might not need a full fledged file system at all, as the communication can happen via virtio channels. We do have a need for ACPI for discovery of information like gic addresses, timers, interrupts... (no interest on device trees, really), and of PCI-E. By skipping steps like UEFI, grub, firmware load, etc we strive to keep our application launch time low. Is this going to create problems for us in the future if you start requiring every VM to boot using those instead? Thank you for your comments, Claudio On 28.03.2014 19:45, Christoffer Dall wrote: > ARM VM System Specification > =========================== > > Goal > ---- > The goal of this spec is to allow suitably-built OS images to run on > all ARM virtualization solutions, such as KVM or Xen. > > Recommendations in this spec are valid for aarch32 and aarch64 alike, and > they aim to be hypervisor agnostic. > > Note that simply adhering to the SBSA [2] is not a valid approach, for > example because the SBSA mandates EL2, which will not be available for > VMs. Further, this spec also covers the aarch32 execution mode, not > covered in the SBSA. > > > Image format > ------------ > The image format, as presented to the VM, needs to be well-defined in > order for prepared disk images to be bootable across various > virtualization implementations. > > The raw disk format as presented to the VM must be partitioned with a > GUID Partition Table (GPT). The bootable software must be placed in the > EFI System Partition (ESP), using the UEFI removable media path, and > must be an EFI application complying to the UEFI Specification 2.4 > Revision A [6]. > > The ESP partition's GPT entry's partition type GUID must be > C12A7328-F81F-11D2-BA4B-00A0C93EC93B and the file system must be > formatted as FAT32/vfat as per Section 12.3.1.1 in [6]. > > The removable media path is \EFI\BOOT\BOOTARM.EFI for the aarch32 > execution state and is \EFI\BOOT\BOOTAA64.EFI for the aarch64 execution > state as specified in Section 3.3 (3.3 (Boot Option Variables Default Boot > Behavior) and 3.4.1.1 (Removable Media Boot Behavior) in [6]. > > This ensures that tools for both Xen and KVM can load a binary UEFI > firmware which can read and boot the EFI application in the disk image. > > A typical scenario will be GRUB2 packaged as an EFI application, which > mounts the system boot partition and boots Linux. > > > Virtual Firmware > ---------------- > The VM system must be UEFI compliant in order to be able to boot the EFI > application in the ESP. It is recommended that this is achieved by > loading a UEFI binary as the first software executed by the VM, which > then executes the EFI application. The UEFI implementation should be > compliant with UEFI Specification 2.4 Revision A [6] or later. > > This document strongly recommends that the VM implementation supports > persistent environment storage for virtual firmware implementation in > order to ensure probable use cases such as adding additional disk images > to a VM or running installers to perform upgrades. > > This document strongly recommends that VM implementations implement > persistent variable storage for their UEFI implementation. Persistent > variable storage shall be a property of a VM instance, but shall not be > stored as part of a portable disk image. Portable disk images shall > conform to the UEFI removable disk requirements from the UEFI spec and > cannot rely on on a pre-configured UEFI environment. > > The binary UEFI firmware implementation should not be distributed as > part of the VM image, but is specific to the VM implementation. > > > Hardware Description > -------------------- > The VM system must be UEFI compliant and therefore the UEFI system table > will provide a means to access hardware description data. > > The VM implementation must provide through its UEFI implementation: > > a complete FDT which describes the entire VM system and will boot > mainline kernels driven by device tree alone > > For more information about the arm and arm64 boot conventions, see > Documentation/arm/Booting and Documentation/arm64/booting.txt in the > Linux kernel source tree. > > For more information about UEFI booting, see [4] and [5]. > > > VM Platform > ----------- > The specification does not mandate any specific memory map. The guest > OS must be able to enumerate all processing elements, devices, and > memory through HW description data (FDT) or a bus-specific > mechanism such as PCI. > > If aarch64 physical CPUs implement support for the aarch32 execution > state in EL1 and EL0 execution, it is recommended that the VM > implementation supports booting the VM at EL1 in both aarch32 and > aarch64 execution states. > > The virtual hardware platform must provide a number of mandatory > peripherals: > > Serial console: The platform should provide a console, > based on an emulated pl011, a virtio-console, or a Xen PV console. > > An ARM Generic Interrupt Controller v2 (GICv2) [3] or newer. GICv2 > limits the the number of virtual CPUs to 8 cores, newer GIC versions > removes this limitation. > > The ARM virtual timer and counter should be available to the VM as > per the ARM Generic Timers specification in the ARM ARM [1]. > > It is strongly recommended that the VM implementation provides a > hotpluggable bus to support hotplug of at least block and network > devices. Suitable buses include a virtual PCIe bus and the Xen PV bus. > > For the VM image to be compliant with this spec, the following applies > for the guest OS in the VM image: > > The guest OS must include support for pl011 UART, virtio-console, and > the Xen PV console. > > The guest OS must include support for GICv2 and any available newer > version of the GIC architecture to maintain compatibility with older > VM implementations. > > It is strongly recommended to include support for all available > (block, network, console, balloon) virtio-pci, virtio-mmio, and Xen PV > drivers in the guest OS kernel or initial ramdisk. > > > Other common peripherals for block devices, networking, and more can > (and typically will) be provided, but OS software written and compiled > to run on ARM VMs cannot make any assumptions about which variations > of these should exist or which implementation they use (e.g. VirtIO or > Xen PV). See "Hardware Description" above. > > > Changes from previous versions of this RFC > ------------------------------------------ > Changes v1-v2: > - Clearly specify that the guest must support the pl011, > virtio-console, and Xen PV console. (Note that it was discussed to > mandate a pl011 during Linaro Connect Asia 2014, but that was under the > impression that the SBSA specification was an output-only no-irq > serial port, which is not the case. The only two benefits from > mandating a specific serial type was to handle "console=ttyAMA0" > kernel command line parameters and earlyprintk; Grant Likely has > submitted patches to avoid the need for "console=" parameters, and > Rob Herring has submitted patches for paravirtualized earlyprintk > consoles.) > - Reference EFI specification for bootable paths. > - Remove discussion on ACPI boot methods and do not suggest ACPI > support in VMs. > - Add specification about UEFI persistent variable storage and > portability. > > > References > ---------- > [1]: The ARM Architecture Reference Manual, ARMv8, Issue A.b > http://infocenter.arm.com/help/index.jsp?topic=/com.arm.doc.ddi0487a.b/index.html > > [2]: ARM Server Base System Architecture > http://infocenter.arm.com/help/index.jsp?topic=/com.arm.doc.den0029/index.html > > [3]: The ARM Generic Interrupt Controller Architecture Specifications v2.0 > http://infocenter.arm.com/help/index.jsp?topic=/com.arm.doc.ddi0487a.b/index.html > > [4]: http://www.secretlab.ca/archives/27 > > [5]: https://git.linaro.org/people/leif.lindholm/linux.git/blob/refs/heads/uefi-for-upstream:/Documentation/arm/uefi.txt > > [6]: UEFI Specification 2.4 Revision A > http://www.uefi.org/sites/default/files/resources/2_4_Errata_A.pdf > _______________________________________________ > kvmarm mailing list > kvmarm at lists.cs.columbia.edu > https://lists.cs.columbia.edu/mailman/listinfo/kvmarm > -- Claudio Fontana Server Virtualization Architect Huawei Technologies Duesseldorf GmbH Riesstra?e 25 - 80992 M?nchen office: +49 89 158834 4135 mobile: +49 15253060158