From mboxrd@z Thu Jan 1 00:00:00 1970 Return-path: Received: from szxga02-in.huawei.com ([119.145.14.65]) by bombadil.infradead.org with esmtps (Exim 4.80.1 #2 (Red Hat Linux)) id 1WkYOg-0002zh-98 for kexec@lists.infradead.org; Wed, 14 May 2014 12:35:00 +0000 Message-ID: <537362A0.7030803@huawei.com> Date: Wed, 14 May 2014 20:33:36 +0800 From: Liu hua MIME-Version: 1.0 Subject: Re: [RFC PATCH 2/2] makedumpfile: get additional information from vmcore References: <1399469234-54925-1-git-send-email-sdu.liu@huawei.com> <1399469234-54925-3-git-send-email-sdu.liu@huawei.com> <0910DD04CBD6DE4193FCF86B9C00BE97210369@BPXM01GP.gisp.nec.co.jp> <5371C8E6.6080700@huawei.com> <0910DD04CBD6DE4193FCF86B9C00BE97210997@BPXM01GP.gisp.nec.co.jp> In-Reply-To: <0910DD04CBD6DE4193FCF86B9C00BE97210997@BPXM01GP.gisp.nec.co.jp> List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Sender: "kexec" Errors-To: kexec-bounces+dwmw2=infradead.org@lists.infradead.org To: Atsushi Kumagai , "linux@arm.linux.org.uk" Cc: "wangnan0@huawei.com" , "peifeiyue@huawei.com" , "will.deacon@arm.com" , "liusdu@126.com" , "kexec@lists.infradead.org" , "linux-kernel@vger.kernel.org" 5LqOIDIwMTQvNS8xNCAxNTo1MywgQXRzdXNoaSBLdW1hZ2FpIOWGmemBkzoKPj4gT24gMjAxNC81 LzEzIDE0OjIxLCBBdHN1c2hpIEt1bWFnYWkgd3JvdGU6Cj4+PiBIZWxsbyBMaXUsCj4+Pgo+Pj4+ IE5vdyB3ZSBkZWZpbmUgTUFYX1BIWVNNRU1fQklUUyBhbmQgU0VDVElPTl9TSVpFX0JJVFMgYXMK Pj4+PiBtYWNyb3MuIFNvIGlmIHdlIGRlYWwgd2l0aCB2bWNvcmVzIHdpdGggZGlmZmVyZW50IHZh bHVlcwo+Pj4+IG9mIHRoZXNlIHR3byBtYWNyb3MuIFdlIGhhdmUgdG8gcmVjb21waWxlIG1ha2Vk dW1wZmlsZS4KPj4+Cj4+PiBUaGVyZSBhcmUgb3RoZXIgbWFjcm9zIHdoaWNoIGhhdmUgYXJjaGl0 ZWN0dXJlLXNwZWNpZmljIHZhbHVlcwo+Pj4gKGUuZy4gX19QQUdFX09GRlNFVCksIGFuZCBzb21l IGZ1bmN0aW9ucyBhcmUgc3BlY2lmaWMgdG8gZWFjaAo+Pj4gYXJjaGl0ZWN0dXJlIChlLmcuIHZh ZGRyX3RvX3BhZGRyKCkpLCBzbyB3ZSBuZWVkIHJlY29tcGlsYXRpb24KPj4+IGV2ZW50dWFsbHku Cj4+Pgo+Pj4gT1RPSCwgd2UgYWxyZWFkeSBkb24ndCBuZWVkIHJlY29tcGlsYXRpb24gZm9yIHRo ZSBzYW1lIGFyY2hpdGVjdHVyZQo+Pj4gc2luY2UgdGhlIHZhbHVlcyBvZiBzdWNoIG1hY3JvcyBh cmUgZGVmaW5lZCBmb3IgZWFjaCBrZXJuZWwgdmVyc2lvbgo+Pj4gbGlrZSBiZWxvdzoKPj4+Cj4+ PiAjaWZkZWYgX194ODZfNjRfXwo+Pj4gLi4uCj4+PiAjZGVmaW5lIF9NQVhfUEhZU01FTV9CSVRT X09SSUcgICAgICAgICAgKDQwKQo+Pj4gI2RlZmluZSBfTUFYX1BIWVNNRU1fQklUU18yXzZfMjYg ICAgICAgICg0NCkKPj4+ICNkZWZpbmUgX01BWF9QSFlTTUVNX0JJVFNfMl82XzMxICAgICAgICAo NDYpCj4+Pgo+Pj4gU28gSSBkb24ndCB0aGluayB0aGlzIHBhdGNoIGlzIHZhbHVhYmxlLgo+Pgo+ PiBIaSBBdHN1c2hpLAo+Pgo+PiBGb3IgeDg2LCBpdCBpcyBub3QgbmVjZXNzb3J5LiBCdXQgZm9y IGFybSwgZGlmZmVyZW50IHZlbmRlcnMKPj4gbWF5IGRlZmluZSBkaWZmZXJlbnQgU0VDVElPTl9T SVpFX0JJVFMuIGZvciBleGFtcGxlOgo+Pgo+PiAgIDEgYXJjaC9hcm0vbWFjaC1jbHBzNzExeC9p bmNsdWRlL21hY2gvbWVtb3J5LmgKPj4gICAgICNkZWZpbmUgU0VDVElPTl9TSVpFX0JJVFMgMjQK Pj4gICAyIGFyY2gvYXJtL21hY2gtZXh5bm9zL2luY2x1ZGUvbWFjaC9tZW1vcnkuaAo+PiAgICAg I2RlZmluZSBTRUNUSU9OX1NJWkVfQklUUyAyOAo+PiAgIDQgYXJjaC9hcm0vbWFjaC1oaXNpL2lu Y2x1ZGUvbWFjaC9tZW1vcnkuaAo+PiAgICAgI2RlZmluZSBTRUNUSU9OX1NJWkVfQklUUyAyNgo+ PiAgIDggYXJjaC9hcm0vbWFjaC1zYTExMDAvaW5jbHVkZS9tYWNoL21lbW9yeS5oCj4+ICAgICAj ZGVmaW5lIFNFQ1RJT05fU0laRV9CSVRTIDI3Cj4+Cj4+IFBlcmhhcHMgd2Ugc2hvdWxkIGZpbmQg YW5vdGhlciB3YXkgdG8gbGV0IHRoZSB1c2Vyc3BhY2UgdG9vbHMKPj4gdG8gZ2V0IHRoZSBhcmNo aXRlY3R1cmUtc3BlY2lmaWMgdmFsdWVzLgo+IAo+IEkgc2VlLCBJIHRoaW5rIHRoaXMgZGVzY3Jp cHRpb24gaXMgYmV0dGVyIHRoYW4gdGhlIGZpcnN0IG9uZS4KPiAKPiBOb3csIG1ha2VkdW1wZmls ZSBjYW4ndCBnZXQgYW4gYXBwcm9wcmlhdGUgdmFsdWVzIG9mIHRoZSB0d28gbWFjcm9zIHNpbmNl IHRoZQo+IHZhbHVlcyBhcmUgdmFyaWFibGUgZXZlbiBpZiB0aGUgYXJjaGl0ZWN0dXJlIGFuZCB0 aGUga2VybmVsIHZlcnNpb24gYXJlIGZpeGVkCj4gKGF0IGxlYXN0IGZvciBhcm0pLCBhbmQgd2Ug Y2FuJ3Qgc29sdmUgdGhpcyB3aXRob3V0ICptYW51YWwgY29kZSBmaXhpbmcqLCByaWdodD8KPiAK PiBJbiBwcmFjdGljZSwgdGhlIGN1cnJlbnQgY29kZSBleHBlY3RzIHRoYXQgYWxsIGFybSBtYWNo aW5lcyBhZG9wdCBFeHlub3MKPiBwcm9jZXNzb3JzLCB0aGlzIGlzIGFuIHByb2JsZW0gZGVmaW5p dGVseS4KPiAKPiAgICNpZmRlZiBfX2FybV9fCj4gICAjZGVmaW5lIEtWQkFTRV9NQVNLICAgICAg ICAgICAgICgweGZmZmYpCj4gICAjZGVmaW5lIEtWQkFTRSAgICAgICAgICAgICAgICAgIChTWU1C T0woX3N0ZXh0KSAmIH5LVkJBU0VfTUFTSykKPiAgICNkZWZpbmUgX1NFQ1RJT05fU0laRV9CSVRT ICAgICAgKDI4KQo+ICAgI2RlZmluZSBfTUFYX1BIWVNNRU1fQklUUyAgICAgICAoMzIpCj4gCj4g SSB0aGluayBpdCdzIGJldHRlciB0byBmaXggdGhlIGRlc2NyaXB0aW9ucyB0byBnZXQgYWNjZXB0 YWJpbGl0eSwKPiBidXQgdGhpcyBwYXRjaCBpcyBuZWNlc3NhcnkgZnJvbSB0aGUgdmlldyBwb2lu dCBvZiBtYWtlZHVtcGZpbGUuCj4gU28gSSByZWNvbW1lbmQgeW91IHRvIHJlcG9zdCB0aGlzIHBh dGNoIHNldCwgdGhlbiBJJ2xsIGFjY2VwdCBpdC4KPiAKT2ssIFRoYW5rcyBmb3IgeW91IHN1Z2dl c3QuIEkgd2lsbCByZXBvc3QgdGhpcyBwYXRjaC4gQnkgbm93IG5vIG9uZQpyZWxweSBteSBrZXJu ZWwgcGF0Y2ggcmVsYXRlZCB0byB0aGlzIGlzc3VlLCBuYW1lZCAiW1JGQyBQQVRDSCAxLzJdCmtk dW1wOiBhZGQgc3BhcnNlIG1lbW9yeSByZWxhdGVkIHZhbHVlcyB0byB2bWNvcmUiLiBEaWRuJ3Qg SSBjYwp0aGUgcmlnaHQgcGVyc29uIG9yIHNvbWV0aGluZyBlbHNlPwoKQlRXLCBGb3IgcGF0Y2gg IltQQVRDSF0gbWFrZWR1bXBmaWxlOiBBUk06IGdldCBjb3JyZWN0IG1lbV9tYXAgb2Zmc2V0IiwK RGlkIEkgZXhwbGFpbiBteSBpZGVhIGNsZWFybHkgPyBJZiBub3QsIEkgd291bGQgbGlrZSByZXBv c3Qgb25lIHdpdGgKbW9yZSBkZXRhaWxzLgoKVGhhbmtzLApMaXUgSHVhCgo+IAo+IFRoYW5rcwo+ IEF0c3VzaGkgS3VtYWdhaQo+IAo+Pj4KPj4+PiBUaGlzIHBhdGNoIG1ha2VzIG1ha2VkdW1wZmls ZSBnZXQgdGhlc2UgdHdvIHZhbHVlcyBmcm9tCj4+Pj4gdm1jb3JlIGluZm8sIGlmIGV4aXN0aW5n LiBJdCBtYWtlcyB0aGUgbWFrZWR1bXBmaWxlIG1vcmUKPj4+PiBjb21wYXRpYmxlIHRvIHZtY29y ZXMgd2l0aCBkaWZmZXJlbnQgc2VjdGlvbiBzaXplLgo+Pj4+Cj4+Pj4gU2lnbmVkLW9mZi1ieTog TGl1IEh1YSA8c2R1LmxpdUBodWF3ZWkuY29tPgo+Pj4+IC0tLQo+Pj4+IG1ha2VkdW1wZmlsZS5j IHwgMTcgKysrKysrKysrKysrKysrKysKPj4+PiBtYWtlZHVtcGZpbGUuaCB8ICAyICsrCj4+Pj4g MiBmaWxlcyBjaGFuZ2VkLCAxOSBpbnNlcnRpb25zKCspCj4+Pj4KPj4+PiBkaWZmIC0tZ2l0IGEv bWFrZWR1bXBmaWxlLmMgYi9tYWtlZHVtcGZpbGUuYwo+Pj4+IGluZGV4IDZjZjZlMjQuLjNjZGYz MjMgMTAwNjQ0Cj4+Pj4gLS0tIGEvbWFrZWR1bXBmaWxlLmMKPj4+PiArKysgYi9tYWtlZHVtcGZp bGUuYwo+Pj4+IEBAIC0yMTExLDYgKzIxMTEsOCBAQCByZWFkX3ZtY29yZWluZm8odm9pZCkKPj4+ PiAJUkVBRF9OVU1CRVIoIlBHX3NsYWIiLCBQR19zbGFiKTsKPj4+PiAJUkVBRF9OVU1CRVIoIlBH X2J1ZGR5IiwgUEdfYnVkZHkpOwo+Pj4+IAlSRUFEX05VTUJFUigiUEdfaHdwb2lzb24iLCBQR19o d3BvaXNvbik7Cj4+Pj4gKwlSRUFEX05VTUJFUigiU0VDVElPTl9TSVpFX0JJVFMiLCBTRUNUSU9O X1NJWkVfQklUUyk7Cj4+Pj4gKwlSRUFEX05VTUJFUigiTUFYX1BIWVNNRU1fQklUUyIsIE1BWF9Q SFlTTUVNX0JJVFMpOwo+Pj4+Cj4+Pj4gCVJFQURfU1JDRklMRSgicHVkX3QiLCBwdWRfdCk7Cj4+ Pj4KPj4+PiBAQCAtMjk5OCw2ICszMDAwLDE4IEBAIGluaXRpYWxpemVfYml0bWFwX21lbW9yeSh2 b2lkKQo+Pj4+IH0KPj4+Pgo+Pj4+IGludAo+Pj4+ICtjYWxpYnJhdGVfbWFjaGRlcF9pbmZvKHZv aWQpCj4+Pj4gK3sKPj4+PiArCWlmIChOVU1CRVIoTUFYX1BIWVNNRU1fQklUUykgPiAwKQo+Pj4+ ICsJCWluZm8tPm1heF9waHlzbWVtX2JpdHMgPSBOVU1CRVIoTUFYX1BIWVNNRU1fQklUUyk7Cj4+ Pj4gKwo+Pj4+ICsJaWYgKE5VTUJFUihTRUNUSU9OX1NJWkVfQklUUykgPiAwKQo+Pj4+ICsJCWlu Zm8tPnNlY3Rpb25fc2l6ZV9iaXRzID0gTlVNQkVSKFNFQ1RJT05fU0laRV9CSVRTKTsKPj4+PiAr Cj4+Pj4gKwlyZXR1cm4gVFJVRTsKPj4+PiArfQo+Pj4+ICsKPj4+PiAraW50Cj4+Pj4gaW5pdGlh bCh2b2lkKQo+Pj4+IHsKPj4+PiAJb2ZmX3Qgb2Zmc2V0Owo+Pj4+IEBAIC0zMjE0LDYgKzMyMjgs OSBAQCBvdXQ6Cj4+Pj4gCWlmIChkZWJ1Z19pbmZvICYmICFnZXRfbWFjaGRlcF9pbmZvKCkpCj4+ Pj4gCQlyZXR1cm4gRkFMU0U7Cj4+Pj4KPj4+PiArCWlmIChkZWJ1Z19pbmZvICYmICFjYWxpYnJh dGVfbWFjaGRlcF9pbmZvKCkpCj4+Pj4gKwkJcmV0dXJuIEZBTFNFOwo+Pj4+ICsKPj4+PiAJaWYg KGlzX3hlbl9tZW1vcnkoKSAmJiAhZ2V0X2RvbTBfbWFwbnIoKSkKPj4+PiAJCXJldHVybiBGQUxT RTsKPj4+Pgo+Pj4+IGRpZmYgLS1naXQgYS9tYWtlZHVtcGZpbGUuaCBiL21ha2VkdW1wZmlsZS5o Cj4+Pj4gaW5kZXggZWIwMzY4OC4uN2FjYjIzYSAxMDA2NDQKPj4+PiAtLS0gYS9tYWtlZHVtcGZp bGUuaAo+Pj4+ICsrKyBiL21ha2VkdW1wZmlsZS5oCj4+Pj4gQEAgLTE0MzQsNiArMTQzNCw4IEBA IHN0cnVjdCBudW1iZXJfdGFibGUgewo+Pj4+IAlsb25nICAgIFBHX2h3cG9pc29uOwo+Pj4+Cj4+ Pj4gCWxvbmcJUEFHRV9CVUREWV9NQVBDT1VOVF9WQUxVRTsKPj4+PiArCWxvbmcJU0VDVElPTl9T SVpFX0JJVFM7Cj4+Pj4gKwlsb25nCU1BWF9QSFlTTUVNX0JJVFM7Cj4+Pj4gfTsKPj4+Pgo+Pj4+ IHN0cnVjdCBzcmNmaWxlX3RhYmxlIHsKPj4+PiAtLQo+Pj4+IDEuOS4wCj4+Pgo+Pj4gLgo+Pj4K Pj4KCgoKX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX18Ka2V4 ZWMgbWFpbGluZyBsaXN0CmtleGVjQGxpc3RzLmluZnJhZGVhZC5vcmcKaHR0cDovL2xpc3RzLmlu ZnJhZGVhZC5vcmcvbWFpbG1hbi9saXN0aW5mby9rZXhlYwo= From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1755480AbaENMfy (ORCPT ); Wed, 14 May 2014 08:35:54 -0400 Received: from szxga02-in.huawei.com ([119.145.14.65]:10806 "EHLO szxga02-in.huawei.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1751697AbaENMfv (ORCPT ); Wed, 14 May 2014 08:35:51 -0400 Message-ID: <537362A0.7030803@huawei.com> Date: Wed, 14 May 2014 20:33:36 +0800 From: Liu hua User-Agent: Mozilla/5.0 (Windows NT 6.1; rv:24.0) Gecko/20100101 Thunderbird/24.0.1 MIME-Version: 1.0 To: Atsushi Kumagai , "linux@arm.linux.org.uk" CC: "will.deacon@arm.com" , "kexec@lists.infradead.org" , "linux-kernel@vger.kernel.org" , "wangnan0@huawei.com" , "peifeiyue@huawei.com" , "liusdu@126.com" Subject: Re: [RFC PATCH 2/2] makedumpfile: get additional information from vmcore References: <1399469234-54925-1-git-send-email-sdu.liu@huawei.com> <1399469234-54925-3-git-send-email-sdu.liu@huawei.com> <0910DD04CBD6DE4193FCF86B9C00BE97210369@BPXM01GP.gisp.nec.co.jp> <5371C8E6.6080700@huawei.com> <0910DD04CBD6DE4193FCF86B9C00BE97210997@BPXM01GP.gisp.nec.co.jp> In-Reply-To: <0910DD04CBD6DE4193FCF86B9C00BE97210997@BPXM01GP.gisp.nec.co.jp> Content-Type: text/plain; charset="UTF-8" Content-Transfer-Encoding: 8bit X-Originating-IP: [10.111.58.238] X-CFilter-Loop: Reflected Sender: linux-kernel-owner@vger.kernel.org List-ID: X-Mailing-List: linux-kernel@vger.kernel.org 于 2014/5/14 15:53, Atsushi Kumagai 写道: >> On 2014/5/13 14:21, Atsushi Kumagai wrote: >>> Hello Liu, >>> >>>> Now we define MAX_PHYSMEM_BITS and SECTION_SIZE_BITS as >>>> macros. So if we deal with vmcores with different values >>>> of these two macros. We have to recompile makedumpfile. >>> >>> There are other macros which have architecture-specific values >>> (e.g. __PAGE_OFFSET), and some functions are specific to each >>> architecture (e.g. vaddr_to_paddr()), so we need recompilation >>> eventually. >>> >>> OTOH, we already don't need recompilation for the same architecture >>> since the values of such macros are defined for each kernel version >>> like below: >>> >>> #ifdef __x86_64__ >>> ... >>> #define _MAX_PHYSMEM_BITS_ORIG (40) >>> #define _MAX_PHYSMEM_BITS_2_6_26 (44) >>> #define _MAX_PHYSMEM_BITS_2_6_31 (46) >>> >>> So I don't think this patch is valuable. >> >> Hi Atsushi, >> >> For x86, it is not necessory. But for arm, different venders >> may define different SECTION_SIZE_BITS. for example: >> >> 1 arch/arm/mach-clps711x/include/mach/memory.h >> #define SECTION_SIZE_BITS 24 >> 2 arch/arm/mach-exynos/include/mach/memory.h >> #define SECTION_SIZE_BITS 28 >> 4 arch/arm/mach-hisi/include/mach/memory.h >> #define SECTION_SIZE_BITS 26 >> 8 arch/arm/mach-sa1100/include/mach/memory.h >> #define SECTION_SIZE_BITS 27 >> >> Perhaps we should find another way to let the userspace tools >> to get the architecture-specific values. > > I see, I think this description is better than the first one. > > Now, makedumpfile can't get an appropriate values of the two macros since the > values are variable even if the architecture and the kernel version are fixed > (at least for arm), and we can't solve this without *manual code fixing*, right? > > In practice, the current code expects that all arm machines adopt Exynos > processors, this is an problem definitely. > > #ifdef __arm__ > #define KVBASE_MASK (0xffff) > #define KVBASE (SYMBOL(_stext) & ~KVBASE_MASK) > #define _SECTION_SIZE_BITS (28) > #define _MAX_PHYSMEM_BITS (32) > > I think it's better to fix the descriptions to get acceptability, > but this patch is necessary from the view point of makedumpfile. > So I recommend you to repost this patch set, then I'll accept it. > Ok, Thanks for you suggest. I will repost this patch. By now no one relpy my kernel patch related to this issue, named "[RFC PATCH 1/2] kdump: add sparse memory related values to vmcore". Didn't I cc the right person or something else? BTW, For patch "[PATCH] makedumpfile: ARM: get correct mem_map offset", Did I explain my idea clearly ? If not, I would like repost one with more details. Thanks, Liu Hua > > Thanks > Atsushi Kumagai > >>> >>>> This patch makes makedumpfile get these two values from >>>> vmcore info, if existing. It makes the makedumpfile more >>>> compatible to vmcores with different section size. >>>> >>>> Signed-off-by: Liu Hua >>>> --- >>>> makedumpfile.c | 17 +++++++++++++++++ >>>> makedumpfile.h | 2 ++ >>>> 2 files changed, 19 insertions(+) >>>> >>>> diff --git a/makedumpfile.c b/makedumpfile.c >>>> index 6cf6e24..3cdf323 100644 >>>> --- a/makedumpfile.c >>>> +++ b/makedumpfile.c >>>> @@ -2111,6 +2111,8 @@ read_vmcoreinfo(void) >>>> READ_NUMBER("PG_slab", PG_slab); >>>> READ_NUMBER("PG_buddy", PG_buddy); >>>> READ_NUMBER("PG_hwpoison", PG_hwpoison); >>>> + READ_NUMBER("SECTION_SIZE_BITS", SECTION_SIZE_BITS); >>>> + READ_NUMBER("MAX_PHYSMEM_BITS", MAX_PHYSMEM_BITS); >>>> >>>> READ_SRCFILE("pud_t", pud_t); >>>> >>>> @@ -2998,6 +3000,18 @@ initialize_bitmap_memory(void) >>>> } >>>> >>>> int >>>> +calibrate_machdep_info(void) >>>> +{ >>>> + if (NUMBER(MAX_PHYSMEM_BITS) > 0) >>>> + info->max_physmem_bits = NUMBER(MAX_PHYSMEM_BITS); >>>> + >>>> + if (NUMBER(SECTION_SIZE_BITS) > 0) >>>> + info->section_size_bits = NUMBER(SECTION_SIZE_BITS); >>>> + >>>> + return TRUE; >>>> +} >>>> + >>>> +int >>>> initial(void) >>>> { >>>> off_t offset; >>>> @@ -3214,6 +3228,9 @@ out: >>>> if (debug_info && !get_machdep_info()) >>>> return FALSE; >>>> >>>> + if (debug_info && !calibrate_machdep_info()) >>>> + return FALSE; >>>> + >>>> if (is_xen_memory() && !get_dom0_mapnr()) >>>> return FALSE; >>>> >>>> diff --git a/makedumpfile.h b/makedumpfile.h >>>> index eb03688..7acb23a 100644 >>>> --- a/makedumpfile.h >>>> +++ b/makedumpfile.h >>>> @@ -1434,6 +1434,8 @@ struct number_table { >>>> long PG_hwpoison; >>>> >>>> long PAGE_BUDDY_MAPCOUNT_VALUE; >>>> + long SECTION_SIZE_BITS; >>>> + long MAX_PHYSMEM_BITS; >>>> }; >>>> >>>> struct srcfile_table { >>>> -- >>>> 1.9.0 >>> >>> . >>> >>