From mboxrd@z Thu Jan 1 00:00:00 1970 From: "Jan Beulich" Subject: Re: [PATCH v3 14/16] x86/boot: implement early command line parser in C Date: Fri, 27 May 2016 03:33:49 -0600 Message-ID: <5748309D02000078000EF22F@prv-mh.provo.novell.com> References: <1460723596-13261-1-git-send-email-daniel.kiper@oracle.com> <1460723596-13261-15-git-send-email-daniel.kiper@oracle.com> <57459BB202000078000EE9E7@prv-mh.provo.novell.com> <20160525213642.GQ5490@olila.local.net-space.pl> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Return-path: Received: from mail6.bemta5.messagelabs.com ([195.245.231.135]) by lists.xenproject.org with esmtp (Exim 4.84_2) (envelope-from ) id 1b6E9S-0004QJ-AF for xen-devel@lists.xenproject.org; Fri, 27 May 2016 09:33:54 +0000 In-Reply-To: <20160525213642.GQ5490@olila.local.net-space.pl> Content-Disposition: inline List-Unsubscribe: , List-Post: List-Help: List-Subscribe: , Errors-To: xen-devel-bounces@lists.xen.org Sender: "Xen-devel" To: Daniel Kiper Cc: Juergen Gross , stefano.stabellini@eu.citrix.com, andrew.cooper3@citrix.com, cardoe@cardoe.com, pgnet.dev@gmail.com, ning.sun@intel.com, david.vrabel@citrix.com, xen-devel@lists.xenproject.org, qiaowei.ren@intel.com, richard.l.maliszewski@intel.com, gang.wei@intel.com, fu.wei@linaro.org List-Id: xen-devel@lists.xenproject.org Pj4+IE9uIDI1LjA1LjE2IGF0IDIzOjM2LCA8ZGFuaWVsLmtpcGVyQG9yYWNsZS5jb20+IHdyb3Rl Ogo+IE9uIFdlZCwgTWF5IDI1LCAyMDE2IGF0IDA0OjMzOjU0QU0gLTA2MDAsIEphbiBCZXVsaWNo IHdyb3RlOgo+PiA+Pj4gT24gMTUuMDQuMTYgYXQgMTQ6MzMsIDxkYW5pZWwua2lwZXJAb3JhY2xl LmNvbT4gd3JvdGU6Cj4+ID4gLS0tIC9kZXYvbnVsbAo+PiA+ICsrKyBiL3hlbi9hcmNoL3g4Ni9i b290L2NtZGxpbmUuYwo+PiA+IEBAIC0wLDAgKzEsMzU3IEBACj4+ID4gKy8qCj4+ID4gKyAqIENv cHlyaWdodCAoYykgMjAxNSwgMjAxNiBPcmFjbGUgYW5kL29yIGl0cyBhZmZpbGlhdGVzLiBBbGwg cmlnaHRzIHJlc2VydmVkLgo+PiA+ICsgKiAgICAgIERhbmllbCBLaXBlciA8ZGFuaWVsLmtpcGVy QG9yYWNsZS5jb20+Cj4+ID4gKyAqCj4+ID4gKyAqIFRoaXMgcHJvZ3JhbSBpcyBmcmVlIHNvZnR3 YXJlOyB5b3UgY2FuIHJlZGlzdHJpYnV0ZSBpdCBhbmQvb3IgbW9kaWZ5Cj4+ID4gKyAqIGl0IHVu ZGVyIHRoZSB0ZXJtcyBvZiB0aGUgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgYXMgcHVibGlz aGVkIGJ5Cj4+ID4gKyAqIHRoZSBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb247IGVpdGhlciB2ZXJz aW9uIDIgb2YgdGhlIExpY2Vuc2UsIG9yCj4+ID4gKyAqIChhdCB5b3VyIG9wdGlvbikgYW55IGxh dGVyIHZlcnNpb24uCj4+ID4gKyAqCj4+ID4gKyAqIFRoaXMgcHJvZ3JhbSBpcyBkaXN0cmlidXRl ZCBpbiB0aGUgaG9wZSB0aGF0IGl0IHdpbGwgYmUgdXNlZnVsLAo+PiA+ICsgKiBidXQgV0lUSE9V VCBBTlkgV0FSUkFOVFk7IHdpdGhvdXQgZXZlbiB0aGUgaW1wbGllZCB3YXJyYW50eSBvZgo+PiA+ ICsgKiBNRVJDSEFOVEFCSUxJVFkgb3IgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0Uu ICBTZWUgdGhlCj4+ID4gKyAqIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGZvciBtb3JlIGRl dGFpbHMuCj4+ID4gKyAqCj4+ID4gKyAqIFlvdSBzaG91bGQgaGF2ZSByZWNlaXZlZCBhIGNvcHkg b2YgdGhlIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGFsb25nCj4+ID4gKyAqIHdpdGggdGhp cyBwcm9ncmFtLiAgSWYgbm90LCBzZWUgPGh0dHA6Ly93d3cuZ251Lm9yZy9saWNlbnNlcy8+Lgo+ PiA+ICsgKgo+PiA+ICsgKiBzdHJsZW4oKSwgc3RybmNtcCgpLCBzdHJzcG4oKSBhbmQgc3RyY3Nw bigpIHdlcmUgY29waWVkIGZyb20KPj4gPiArICogTGludXgga2VybmVsIHNvdXJjZSAobGludXgv bGliL3N0cmluZy5jKS4KPj4KPj4gQW55IHJlYXNvbiB5b3UgY2FuJ3QganVzdCAjaW5jbHVkZSAi Li4uL2NvbW1vbi9zdHJpbmcuYyIgaGVyZT8KPiAKPiBJIGFtIGNvbmZ1c2VkLiBTb21ldGltZXMg eW91IHJlcXVlc3QgdG8gcmVkdWNlIG51bWJlciBvZiBzdWNoIHN0cmFuZ2UKPiBpbmNsdWRlcyBh bmQgc29tZXRpbWVzIHlvdSBhc2sgbWUgdG8gZG8gc29tZXRoaW5nIGNvbnRyYXJ5PyBTbywgd2hh dAo+IGlzIHRoZSBydWxlIGJlaGluZCB0aGVzZSByZXF1ZXN0cz8KClRoZSBydWxlIGlzICJ3aGF0 ZXZlciBmaXRzIGJlc3QgZm9yIHRoZSBjdXJyZW50IHB1cnBvc2UiLiBTdWNoCiJzdHJhbmdlIiBp bmNsdWRlcyBzaG91bGQgYmUgYXZvaWRlZCBpZiB0aGVpciBwdXJwb3NlIGNhbiBiZQpmdWxmaWxs ZWQgYnkgb3RoZXIgbWVhbnMuIFRoZW0gYmVpbmcgYXZvaWRlZCBhdCB0aGUgcHJpY2Ugb2YKcXVp dGUgYSBiaXQgb2YgY29kZSBkdXBsaWNhdGlvbiwgb3RvaCwgZG9lc24ndCBzZWVtIHdlbGwgYWR2 aXNlZAp0byBtZS4KCj4+ID4gKy8qCj4+ID4gKyAqIENvbXBpbGVyIGlzIG5vdCBhYmxlIHRvIG9w dGltaXplIHJlZ3VsYXIgc3RybGVuKCkKPj4gPiArICogaWYgYXJndW1lbnQgaXMgd2VsbCBrbm93 biBzdHJpbmcgZHVyaW5nIGJ1aWxkLgo+PiA+ICsgKiBIZW5jZSwgaW50cm9kdWNlIG9wdGltaXpl ZCBzdHJsZW5fb3B0KCkuCj4+ID4gKyAqLwo+PiA+ICsjZGVmaW5lIHN0cmxlbl9vcHQocykgKHNp emVvZihzKSAtIDEpCj4+Cj4+IERvIHdlIHJlYWxseSBjYXJlIGluIHRoaXMgY29kZT8KPiAKPiBO b3QgdG8gc3Ryb25nbHkgYnV0IHdoeSBub3Q/CgpLZWVwIHRoaW5ncyBhcyByZWFkYWJsZSBhcyBw b3NzaWJsZS4gSW4gZmFjdCBJIHdvdWxkbid0IG1pbmQgaGFyZApjb2RlZCBsaXRlcmFsIG51bWJl cnMgZm9yIHRoZSBzdHJpbmcgbGVuZ3RocywgaWYgdGhleSBzaXQgcmlnaHQgbmV4dAp0byB0aGUg cmVzcGVjdGl2ZSBzdHJpbmcgbGl0ZXJhbC4KCj4+ID4gK3N0YXRpYyBpbnQgc3RydG9pKGNvbnN0 IGNoYXIgKnMsIGNvbnN0IGNoYXIgKnN0b3AsIGNvbnN0IGNoYXIgKipuZXh0KQo+PiA+ICt7Cj4+ ID4gKyAgICBpbnQgYmFzZSA9IDEwLCBpLCBvcmVzID0gMCwgcmVzID0gMDsKPj4KPj4gWW91IGRv bid0IGV2ZW4gaGFuZGxlIGEgJy0nIG9uIHRoZSBudW1iZXJzIGhlcmUsIHNvIGFsbCB0aGUgdmFy aWFibGVzCj4gCj4gWWVwLCBob3dldmVyLCAuLi4KPiAKPj4gYW5kIHRoZSBmdW5jdGlvbiByZXR1 cm4gdHlwZSBzaG91bGQgYmUgdW5zaWduZWQgaW50IGFmYWljdC4gQW5kIHRoZQo+PiBmdW5jdGlv biBuYW1lIHBlcmhhcHMgYmUgc3RydG91aSgpLgo+IAo+IC4uLiB3ZSByZXR1cm4gLTEgaW4gY2Fz ZSBvZiBlcnJvci4KCldoaWNoIC0gaGF2aW5nIGxvb2tlZCBhdCBzb21lIG9mIHRoZSBjYWxsZXJz IC0gY291bGQgZWFzaWx5IGJlClVJTlRfTUFYIGFzIGl0IHNlZW1zLgoKPj4gPiArc3RhdGljIHU4 IHNraXBfcmVhbG1vZGUoY29uc3QgY2hhciAqY21kbGluZSkKPj4gPiArewo+PiA+ICsgICAgcmV0 dXJuICEhZmluZF9vcHQoY21kbGluZSwgIm5vLXJlYWwtbW9kZSIsIDApIHx8ICEhZmluZF9vcHQo Y21kbGluZSwgCj4gInRib290PSIsIDEpOwo+Pgo+PiBUaGUgfHwgbWFrZXMgdGhlIHR3byAhISBw b2ludGxlc3MuCj4+Cj4+IEFsc28gcGxlYXNlIHNldHRsZSBvbiB3aGljaCB0eXBlIHlvdSB3YW50 IHRvIHVzZSBmb3IgYm9vbGVhbgo+PiAoZmluZF9vcHQoKSdzIGxhc3QgcGFyYW1ldGVyIGlzICJp bnQiLCB5ZXQgaGVyZSB5b3UgdXNlICJ1OCIpLCBhbmQKPiAKPiBDb3VsZCBiZSB1OC4KPiAKPj4g cGVyaGFwcyBtYWtlIHlvdXJzZWxmIGEgYm9vbF90Lgo+IAo+IEkgZG8gbm90IHRoaW5rIGl0IG1h a2Ugc2Vuc2UgaGVyZS4KCkkgdGhpbmsgaXQgbWFrZXMgYXMgbXVjaCBvciBhcyBsaXR0bGUgc2Vu c2UgYXMgaGF2aW5nIE5VTEwgYXZhaWxhYmxlLgoKPj4gPiArICAgICAgICAvKgo+PiA+ICsgICAg ICAgICAqIEluY3JlbWVudCBjIG91dHNpZGUgb2Ygc3RydG9pKCkgYmVjYXVzZSBvdGhlcndpc2Ug c29tZQo+PiA+ICsgICAgICAgICAqIGNvbXBpbGVyIG1heSBjb21wbGFpbiB3aXRoIGZvbGxvd2lu ZyBtZXNzYWdlOgo+PiA+ICsgICAgICAgICAqIHdhcm5pbmc6IG9wZXJhdGlvbiBvbiDigJhj4oCZ IG1heSBiZSB1bmRlZmluZWQuCj4+ID4gKyAgICAgICAgICovCj4+ID4gKyAgICAgICAgKytjOwo+ PiA+ICsgICAgICAgIHRtcCA9IHN0cnRvaShjLCAieCIsICZjKTsKPj4KPj4gVGhlIGNvbW1lbnQg aXMgcG9pbnRsZXNzIC0gdGhlIG9wZXJhdGlvbiBpcyBmaXJtbHkgdW5kZWZpbmVkIGlmIHlvdQo+ PiBwdXQgaXQgaW4gdGhlIHN0cnRvaSgpIGludm9jYXRpb24uCj4gCj4gSW4gdGVybXMgb2YgQyBz cGVjIHlvdSBhcmUgcmlnaHQuIEhvd2V2ZXIsIGl0IGlzIHF1aXRlIHN1cnByaXNpbmcgdGhhdCBv bGRlcgo+IEdDQyBjb21wbGFpbnMgYW5kIG5ld2VyIG9uZXMgZG8gbm90LiBTaG91bGQgbm90IHdl IGludmVzdGlnYXRlIHRoaXM/CgpBY3R1YWxseSBJIHRoaW5rIEkgd2FzIHdyb25nIGhlcmUuIEEg ZnVuY3Rpb24gY2FsbCBsaWtlIGZ1bmMoYysrLCBjKQp3b3VsZCBiZSB1bmRlZmluZWQsIGJ1dCBm dW5jKGMrKywgJmMpIGlzbid0LiBTbyBJIGd1ZXNzIGlmIHRoZXJlIGFyZQpjb21waWxlciB2ZXJz aW9ucyBnZXR0aW5nIHRoaXMgd3JvbmcsIHRoZW4geW91IHNob3VsZCBqdXN0IGRpc3JlZ2FyZApt eSBjb21tZW50LgoKPj4gPiArICAgICAgICBwdXNobCAgICRzeW1fcGh5cyhlYXJseV9ib290X29w dHMpCj4+ID4gKyAgICAgICAgcHVzaGwgICBNQl9jbWRsaW5lKCVlYngpCj4+ID4gICAgICAgICAg Y2FsbCAgICBjbWRsaW5lX3BhcnNlX2Vhcmx5Cj4+ID4gKyAgICAgICAgYWRkICAgICAkOCwlZXNw ICAgICAgICAgICAgIC8qIFJlbW92ZSBjbWRsaW5lX3BhcnNlX2Vhcmx5KCkgYXJncyBmcm9tIHN0 YWNrLiAqLwo+Pgo+PiBJIGRvbid0IHRoaW5rIHN1Y2ggYSBjb21tZW50IGlzIHJlYWxseSB1c2Vm dWwgKHNlZW1zIGxpa2UgSSBvdmVybG9va2VkCj4+IGEgc2ltaWxhciBvbmUgaW4gYW4gZWFybGll ciBwYXRjaCwgb24gdGhlIHJlbG9jKCkgaW52b2NhdGlvbikuCj4gCj4gVGhpcyB0aGluZyBpcyBx dWl0ZSBvYnZpb3VzIGJ1dCBJIGRvIG5vdCB0aGluayB0aGF0IHRoaXMgY29tbWVudCBodXJ0cy4K Ckl0IG1heSBub3QgcmVhbGx5IGh1cnQsIGJ1dCBpdCBkcmF3cyBuZWVkbGVzcyBhdHRlbnRpb24g dG8gc29tZXRoaW5nCnRoYXQgaXMgdG8gYiBleHBlY3RlZCBhZnRlciBhbnkgZnVuY3Rpb24gY2Fs bCBnZXR0aW5nIGFyZ3VtZW50cwpwYXNzZWQgb24gdGhlIHN0YWNrLiBZb3UgY291bGQsIGJ0dy4s IG1ha2UgY21kbGluZV9wYXJzZV9lYXJseQphIHN0ZGNhbGwgZnVuY3Rpb24sIHNvIHlvdSB3b3Vs ZG4ndCBoYXZlIHRvIGRvIHRoYXQgYWRqdXN0bWVudApoZXJlLgoKSmFuCgpfX19fX19fX19fX19f X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fXwpYZW4tZGV2ZWwgbWFpbGluZyBsaXN0 Clhlbi1kZXZlbEBsaXN0cy54ZW4ub3JnCmh0dHA6Ly9saXN0cy54ZW4ub3JnL3hlbi1kZXZlbAo=