In ia64_mca_init(), don't limit the allocation of the info block to

fall within the first 256MB of memory. The origin/reason for that
limitation is not known, but it's not believed to be required for
proper initialization. What is known is that the Altix 350 does not
have physical memory at that address (by virtue of the address space
bits).

Keep the boundary at 256MB so that the info block will be covered
by a single direct-mapped translation.

While here, change the flags to M_NOWAIT to eliminate confusion. It
does not change the behaviour of contigmalloc(). What is does is
makes the flags argument explicitly say what the actual behaviour
is.
This commit is contained in:
Marcel Moolenaar 2013-07-23 02:38:23 +00:00
parent 57e65e9bda
commit a992fcc26c
Notes: svn2git 2020-12-20 02:59:44 +00:00
svn path=/head/; revision=253559

View File

@ -284,8 +284,8 @@ ia64_mca_init(void)
}
max_size = round_page(max_size);
p = (max_size) ? contigmalloc(max_size, M_TEMP, 0, 0ul,
256*1024*1024 - 1, PAGE_SIZE, 256*1024*1024) : NULL;
p = (max_size) ? contigmalloc(max_size, M_TEMP, M_NOWAIT, 0ul, ~0ul,
PAGE_SIZE, 256*1024*1024) : NULL;
if (p != NULL) {
mca_info_block = IA64_PHYS_TO_RR7(ia64_tpa((u_int64_t)p));