Skip site navigation (1)Skip section navigation (2)
Date:      Tue, 2 Oct 2001 12:29:14 -0500 (CDT)
From:      Mike Silbersack <silby@silby.com>
To:        Dan Nelson <dnelson@allantgroup.com>
Cc:        <freebsd-arch@FreeBSD.ORG>
Subject:   Re: Reading physical memory in a cross-platform way
Message-ID:  <20011002122651.P16126-200000@achilles.silby.com>
In-Reply-To: <20011001224604.A29573@dan.emsphone.com>

next in thread | previous in thread | raw e-mail | index | archive | help
  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 <mach>_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




Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?20011002122651.P16126-200000>