int naps = 0; /* # of Applications processors */
+u_int base_memory;
+
static int
sysctl_hw_physmem(SYSCTL_HANDLER_ARGS)
{
* Now, physmap contains a map of physical memory.
*/
+ base_memory = physmap[1];
#ifdef SMP
/* make hole for AP bootstrap code YYY */
- physmap[1] = mp_bootaddress(physmap[1]);
+ physmap[1] = mp_bootaddress(base_memory);
#endif
/* Save EBDA address, if any */
cpumask_t smp_active_mask = 1; /* which cpus are ready for IPIs etc? */
SYSCTL_INT(_machdep, OID_AUTO, smp_active, CTLFLAG_RD, &smp_active_mask, 0, "");
-u_int base_memory;
-
/*
* Calculate usable address in base memory for AP trampoline code.
*/
{
POSTCODE(MP_BOOTADDRESS_POST);
- base_memory = basemem;
-
- boot_address = base_memory & ~0xfff; /* round down to 4k boundary */
- if ((base_memory - boot_address) < bootMP_size)
+ boot_address = basemem & ~0xfff; /* round down to 4k boundary */
+ if ((basemem - boot_address) < bootMP_size)
boot_address -= 4096; /* not enough, lower by 4k */
return boot_address;