From 329d975c0c8b521bd1500b409f780312335f6f2e Mon Sep 17 00:00:00 2001 From: Mark Johnston Date: Mon, 13 Jul 2020 17:05:44 +0000 Subject: [PATCH] Print arm64 physmem info during boot. PR: 243682 Reviewed by: andrew, emaste MFC after: 1 week Event: July 2020 Bugathon Differential Revision: https://reviews.freebsd.org/D25625 --- sys/arm64/arm64/machdep.c | 23 +++++++++++++++++++++++ 1 file changed, 23 insertions(+) diff --git a/sys/arm64/arm64/machdep.c b/sys/arm64/arm64/machdep.c index b911a1fc7dd7..1667d5993998 100644 --- a/sys/arm64/arm64/machdep.c +++ b/sys/arm64/arm64/machdep.c @@ -62,11 +62,14 @@ __FBSDID("$FreeBSD$"); #include #include #include +#include #include +#include #include #include #include +#include #include #include #include @@ -170,6 +173,26 @@ has_hyp(void) static void cpu_startup(void *dummy) { + vm_paddr_t size; + int i; + + printf("real memory = %ju (%ju MB)\n", ptoa((uintmax_t)realmem), + ptoa((uintmax_t)realmem) / 1024 / 1024); + + if (bootverbose) { + printf("Physical memory chunk(s):\n"); + for (i = 0; phys_avail[i + 1] != 0; i += 2) { + size = phys_avail[i + 1] - phys_avail[i]; + printf("%#016jx - %#016jx, %ju bytes (%ju pages)\n", + (uintmax_t)phys_avail[i], + (uintmax_t)phys_avail[i + 1] - 1, + (uintmax_t)size, (uintmax_t)size / PAGE_SIZE); + } + } + + printf("avail memory = %ju (%ju MB)\n", + ptoa((uintmax_t)vm_free_count()), + ptoa((uintmax_t)vm_free_count()) / 1024 / 1024); undef_init(); install_cpu_errata();