PPC: machdep, zero BSS always but BookE
Zero BSS always. The only case when this operation is ommitted is when booting on BookE. Created by: Wojciech Macek <wma@semihalf.com> Obtained from: Semihalf Reviewed by: imp, nwhitehorn Differential revision: https://reviews.freebsd.org/D13948 Sponsored by: QCM Technologies
This commit is contained in:
parent
5b3e8b0725
commit
8a0112ca65
@ -260,6 +260,15 @@ powerpc_init(vm_offset_t fdt, vm_offset_t toc, vm_offset_t ofentry, void *mdp,
|
||||
if (mdp_cookie != 0xfb5d104d)
|
||||
mdp = NULL;
|
||||
|
||||
#if !defined(BOOKE)
|
||||
/*
|
||||
* On BOOKE the BSS is already cleared and some variables
|
||||
* initialized. Do not wipe them out.
|
||||
*/
|
||||
bzero(__sbss_start, __sbss_end - __sbss_start);
|
||||
bzero(__bss_start, _end - __bss_start);
|
||||
#endif
|
||||
|
||||
#ifdef AIM
|
||||
/*
|
||||
* If running from an FDT, make sure we are in real mode to avoid
|
||||
@ -293,14 +302,6 @@ powerpc_init(vm_offset_t fdt, vm_offset_t toc, vm_offset_t ofentry, void *mdp,
|
||||
#endif
|
||||
}
|
||||
} else {
|
||||
#if !defined(BOOKE)
|
||||
/*
|
||||
* On BOOKE the BSS is already cleared and some variables
|
||||
* initialized. Do not wipe them out.
|
||||
*/
|
||||
bzero(__sbss_start, __sbss_end - __sbss_start);
|
||||
bzero(__bss_start, _end - __bss_start);
|
||||
#endif
|
||||
init_static_kenv(init_kenv, sizeof(init_kenv));
|
||||
ofw_bootargs = true;
|
||||
}
|
||||
|
Loading…
x
Reference in New Issue
Block a user