aboutsummaryrefslogtreecommitdiff
path: root/sys
diff options
context:
space:
mode:
authorIan Lepore <ian@FreeBSD.org>2014-02-09 21:21:10 +0000
committerIan Lepore <ian@FreeBSD.org>2014-02-09 21:21:10 +0000
commit46aa33b2ac22f2ea44a3cb766ba4f70cf39e04bf (patch)
treecc301db9d631593fb0eb3b712c6673a3cda1fa04 /sys
parent1ef5f6a0065ec56cf4b65a63091bcaf1a385c00c (diff)
downloadsrc-46aa33b2ac22f2ea44a3cb766ba4f70cf39e04bf.tar.gz
src-46aa33b2ac22f2ea44a3cb766ba4f70cf39e04bf.zip
If someone tries to boot a generic ATMEL kernel that has no board_init()
routine compiled in, print a friendly error message about it rather than mysteriously hanging while trying to init 4GB of nonexistant ram.
Notes
Notes: svn path=/head/; revision=261690
Diffstat (limited to 'sys')
-rw-r--r--sys/arm/at91/at91_machdep.c5
1 files changed, 5 insertions, 0 deletions
diff --git a/sys/arm/at91/at91_machdep.c b/sys/arm/at91/at91_machdep.c
index a6600b013263..f9a85e29efbf 100644
--- a/sys/arm/at91/at91_machdep.c
+++ b/sys/arm/at91/at91_machdep.c
@@ -590,6 +590,11 @@ initarm(struct arm_boot_params *abp)
printf("Warning: No soc support for %s found.\n", soc_info.name);
memsize = board_init();
+ if (memsize == -1) {
+ printf("board_init() failed, cannot determine ram size; "
+ "assuming 16MB\n");
+ memsize = 16 * 1024 * 1024;
+ }
/*
* Pages were allocated during the secondary bootstrap for the