summaryrefslogtreecommitdiffstats
path: root/sys/boot/pc98
diff options
context:
space:
mode:
authordim <dim@FreeBSD.org>2010-09-01 15:24:47 +0000
committerdim <dim@FreeBSD.org>2010-09-01 15:24:47 +0000
commit963045b790aad12cd67164232c75587c2955c1f0 (patch)
tree903708f57e8c5157d932724dfd74b92f8446c511 /sys/boot/pc98
parent5216dea167c38680c62c1f24a81f70232eafadb7 (diff)
downloadFreeBSD-src-963045b790aad12cd67164232c75587c2955c1f0.zip
FreeBSD-src-963045b790aad12cd67164232c75587c2955c1f0.tar.gz
Use a cleaner expression to retrieve the memory size in pc98's boot2.c,
which also avoids NULL pointer arithmetic, as suggested by jhb. The available space goes from 11 bytes to 7. Reviewed by: nyan Approved by: rpaulo (mentor)
Diffstat (limited to 'sys/boot/pc98')
-rw-r--r--sys/boot/pc98/boot2/boot2.c5
1 files changed, 2 insertions, 3 deletions
diff --git a/sys/boot/pc98/boot2/boot2.c b/sys/boot/pc98/boot2/boot2.c
index e35b425..54082ad 100644
--- a/sys/boot/pc98/boot2/boot2.c
+++ b/sys/boot/pc98/boot2/boot2.c
@@ -187,9 +187,8 @@ xfsread(ino_t inode, void *buf, size_t nbyte)
static inline uint32_t
memsize(void)
{
- u_char *p = (u_char *)PTOV(0x401);
-
- return *p * 128 * 1024 + *(u_int16_t *)(p + (0x594 - 0x401)) * 1024 * 1024;
+ return (*(u_char *)PTOV(0x401) * 128 * 1024 +
+ *(uint16_t *)PTOV(0x594) * 1024 * 1024);
}
static inline void
OpenPOWER on IntegriCloud