From owner-freebsd-arch Tue Oct 2 10:29:42 2001 Delivered-To: freebsd-arch@freebsd.org Received: from silby.com (cb34181-a.mdsn1.wi.home.com [24.14.173.39]) by hub.freebsd.org (Postfix) with ESMTP id BF7E037B407 for ; Tue, 2 Oct 2001 10:29:36 -0700 (PDT) Received: (qmail 16718 invoked by uid 1000); 2 Oct 2001 17:29:14 -0000 Received: from localhost (sendmail-bs@127.0.0.1) by localhost with SMTP; 2 Oct 2001 17:29:14 -0000 Date: Tue, 2 Oct 2001 12:29:14 -0500 (CDT) From: Mike Silbersack To: Dan Nelson Cc: Subject: Re: Reading physical memory in a cross-platform way In-Reply-To: <20011001224604.A29573@dan.emsphone.com> Message-ID: <20011002122651.P16126-200000@achilles.silby.com> MIME-Version: 1.0 Content-Type: MULTIPART/MIXED; BOUNDARY="0-1762315182-1002043754=:16126" Sender: owner-freebsd-arch@FreeBSD.ORG Precedence: bulk List-ID: List-Archive: (Web Archive) List-Help: (List Instructions) List-Subscribe: List-Unsubscribe: X-Loop: FreeBSD.ORG This message is in MIME format. The first part should be readable text, while the remaining parts are likely unreadable without MIME-aware tools. Send mail to mime@docserver.cac.washington.edu for more info. --0-1762315182-1002043754=:16126 Content-Type: TEXT/PLAIN; charset=US-ASCII On Mon, 1 Oct 2001, Dan Nelson wrote: > > physmem != hw.physmem. The sysctl is actually the output of a function, > > not a simple int or the like. > > Yeah, but look at the function (i386 as an example): > > static int > sysctl_hw_physmem(SYSCTL_HANDLER_ARGS) > { > int error = sysctl_handle_int(oidp, 0, ctob(physmem), req); > return (error); > } > > So the physmem value is just in pages; even though the different > platforms use ctob() or _ptob(), the macros all expand to > ((x) << PAGE_SHIFT). True, but I still don't want to spread MD-ish code across the kernel. So, I whipped up the patch I proposed. This introduces "maxmembytes", which contains the size of ram in bytes. I think I've updated all architectures properly, but I've only tested on i386. Could someone working on alpha/ia64/sparc check to make sure that it doesn't break compilation? Unless there are objections, I'll probably commit it in a few days. Thanks, Mike "Silby" Silbersack --0-1762315182-1002043754=:16126 Content-Type: TEXT/PLAIN; charset=US-ASCII; name="maxmembytes.patch" Content-Transfer-Encoding: BASE64 Content-ID: <20011002122914.X16126@achilles.silby.com> Content-Description: Content-Disposition: attachment; filename="maxmembytes.patch" ZGlmZiAtdSAtciBzeXMvYWxwaGEvYWxwaGEvbWFjaGRlcC5jIHN5cy5uZXcv YWxwaGEvYWxwaGEvbWFjaGRlcC5jDQotLS0gc3lzL2FscGhhL2FscGhhL21h Y2hkZXAuYwlXZWQgU2VwIDEyIDA4OjM2OjUzIDIwMDENCisrKyBzeXMubmV3 L2FscGhhL2FscGhhL21hY2hkZXAuYwlUdWUgT2N0ICAyIDEyOjI0OjE5IDIw MDENCkBAIC0xODksNiArMTg5LDcgQEANCiBzdHJ1Y3QgbXNnYnVmICptc2di dWZwPTA7DQogDQogaW50IE1heG1lbSA9IDA7DQordV9pbnQ2NF90IG1heG1l bWJ5dGVzID0gMDsNCiBsb25nIGR1bXBsbzsNCiANCiBpbnQJdG90YWxwaHlz bWVtOwkJLyogdG90YWwgYW1vdW50IG9mIHBoeXNpY2FsIG1lbW9yeSBpbiBz eXN0ZW0gKi8NCkBAIC04NDYsNiArODQ3LDggQEANCiAJCWVsc2UNCiAJCQlN YXhtZW0gPSBhbHBoYV9idG9wKEFsbG93TWVtKTsNCiAJfQ0KKw0KKwltYXht ZW1ieXRlcyA9IGFscGhhX3B0b2IoTWF4bWVtKTsNCiANCiAJd2hpbGUgKHBo eXNtZW0gPiBNYXhtZW0pIHsNCiAJCWludCBpID0gcGh5c19hdmFpbF9jbnQg LSAyOw0KZGlmZiAtdSAtciBzeXMvaTM4Ni9pMzg2L21hY2hkZXAuYyBzeXMu bmV3L2kzODYvaTM4Ni9tYWNoZGVwLmMNCi0tLSBzeXMvaTM4Ni9pMzg2L21h Y2hkZXAuYwlXZWQgU2VwIDEyIDA4OjM3OjI5IDIwMDENCisrKyBzeXMubmV3 L2kzODYvaTM4Ni9tYWNoZGVwLmMJVHVlIE9jdCAgMiAxMjoyNDozOSAyMDAx DQpAQCAtMTU2LDYgKzE1Niw3IEBADQogU1lTQ1RMX0lOVChfbWFjaGRlcCwg T0lEX0FVVE8sIGlzcGM5OCwgQ1RMRkxBR19SRCwgJmlzcGM5OCwgMCwgIiIp Ow0KIA0KIGludCBwaHlzbWVtID0gMDsNCit1X2ludDY0X3QgbWF4bWVtYnl0 ZXMgPSAwOw0KIGludCBjb2xkID0gMTsNCiANCiAjaWZkZWYgQ09NUEFUXzQz DQpAQCAtMTY1NSw2ICsxNjU2LDggQEANCiAJcGh5c19hdmFpbFtwYV9pbmR4 XSAtPSByb3VuZF9wYWdlKE1TR0JVRl9TSVpFKTsNCiANCiAJYXZhaWxfZW5k ID0gcGh5c19hdmFpbFtwYV9pbmR4XTsNCisNCisJbWF4bWVtYnl0ZXMgPSBw dG9hKE1heG1lbSk7DQogfQ0KIA0KIHZvaWQNCmRpZmYgLXUgLXIgc3lzL2lh NjQvaWE2NC9tYWNoZGVwLmMgc3lzLm5ldy9pYTY0L2lhNjQvbWFjaGRlcC5j DQotLS0gc3lzL2lhNjQvaWE2NC9tYWNoZGVwLmMJU2F0IFNlcCAyOSAxMTo0 MzozNiAyMDAxDQorKysgc3lzLm5ldy9pYTY0L2lhNjQvbWFjaGRlcC5jCVR1 ZSBPY3QgIDIgMTI6MDk6MjAgMjAwMQ0KQEAgLTEyOSw2ICsxMjksNyBAQA0K IHN0cnVjdCBtc2didWYgKm1zZ2J1ZnA9MDsNCiANCiBpbnQgYm9vdHZlcmJv c2UgPSAwLCBNYXhtZW0gPSAwOw0KK3VfaW50NjRfdCBtYXhtZW1ieXRlczsN CiBsb25nIGR1bXBsbzsNCiANCiBpbnQJdG90YWxwaHlzbWVtOwkJLyogdG90 YWwgYW1vdW50IG9mIHBoeXNpY2FsIG1lbW9yeSBpbiBzeXN0ZW0gKi8NCkBA IC03MTYsNiArNzE3LDcgQEANCiAJcGh5c19hdmFpbFtwaHlzX2F2YWlsX2Nu dF0gPSAwOw0KIA0KIAlNYXhtZW0gPSBwaHlzbWVtOw0KKwltYXhtZW1ieXRl cyA9IGlhNjRfcHRvYihNYXhtZW0pOw0KIA0KIAkvKg0KIAkgKiBJbml0aWFs aXplIGVycm9yIG1lc3NhZ2UgYnVmZmVyIChhdCBlbmQgb2YgY29yZSkuDQpk aWZmIC11IC1yIHN5cy9wb3dlcnBjL3Bvd2VycGMvbWFjaGRlcC5jIHN5cy5u ZXcvcG93ZXJwYy9wb3dlcnBjL21hY2hkZXAuYw0KLS0tIHN5cy9wb3dlcnBj L3Bvd2VycGMvbWFjaGRlcC5jCU1vbiBTZXAgMjQgMDI6NTg6NDkgMjAwMQ0K KysrIHN5cy5uZXcvcG93ZXJwYy9wb3dlcnBjL21hY2hkZXAuYwlUdWUgT2N0 ICAyIDEyOjA5OjM2IDIwMDENCkBAIC0xMTMsNiArMTEzLDcgQEANCiAjaW5j bHVkZSA8bWFjaGluZS9zaWdmcmFtZS5oPg0KIA0KIGludCBwaHlzbWVtID0g MDsNCit1X2ludDY0X3QgbWF4bWVtYnl0ZXMgPSAwOw0KIGludCBjb2xkID0g MTsNCiANCiBzdHJ1Y3QgbXR4CXNjaGVkX2xvY2s7DQpkaWZmIC11IC1yIHN5 cy9zcGFyYzY0L3NwYXJjNjQvbWFjaGRlcC5jIHN5cy5uZXcvc3BhcmM2NC9z cGFyYzY0L21hY2hkZXAuYw0KLS0tIHN5cy9zcGFyYzY0L3NwYXJjNjQvbWFj aGRlcC5jCVN1biBTZXAgMzAgMTg6NDg6MzcgMjAwMQ0KKysrIHN5cy5uZXcv c3BhcmM2NC9zcGFyYzY0L21hY2hkZXAuYwlUdWUgT2N0ICAyIDEyOjA3OjA3 IDIwMDENCkBAIC05OCw2ICs5OCw3IEBADQogaW50IGNvbGQgPSAxOw0KIGxv bmcgZHVtcGxvOw0KIGludCBNYXhtZW07DQordV9pbnQ2NF90IG1heG1lbWJ5 dGVzOw0KIA0KIHVfbG9uZyBkZWJ1Z19tYXNrOw0KIA0KZGlmZiAtdSAtciBz eXMvc3lzL3N5c3RtLmggc3lzLm5ldy9zeXMvc3lzdG0uaA0KLS0tIHN5cy9z eXMvc3lzdG0uaAlUaHUgU2VwIDIwIDIxOjQ1OjMxIDIwMDENCisrKyBzeXMu bmV3L3N5cy9zeXN0bS5oCVR1ZSBPY3QgIDIgMTI6MDk6MjYgMjAwMQ0KQEAg LTYwLDYgKzYwLDcgQEANCiBleHRlcm4gc3RydWN0IGN2IHNlbHdhaXQ7CS8q IHNlbGVjdCBjb25kaXRpb25hbCB2YXJpYWJsZSAqLw0KIA0KIGV4dGVybiBp bnQgcGh5c21lbTsJCS8qIHBoeXNpY2FsIG1lbW9yeSAqLw0KK2V4dGVybiB1 X2ludDY0X3QgbWF4bWVtYnl0ZXM7CS8qIG1heGltdW0gbWVtb3J5IGluIGJ5 dGVzICovDQogDQogZXh0ZXJuIGRldl90IGR1bXBkZXY7CQkvKiBkdW1wIGRl dmljZSAqLw0KIGV4dGVybiBsb25nIGR1bXBsbzsJCS8qIG9mZnNldCBpbnRv IGR1bXBkZXYgKi8NCg== --0-1762315182-1002043754=:16126-- To Unsubscribe: send mail to majordomo@FreeBSD.org with "unsubscribe freebsd-arch" in the body of the message