For future use in the Linux emulation layer add a new
exec_sysvec_init_abi() method which will fill timekeep_base and
sharedpage_obj for non native abi.
Details
Diff Detail
- Repository
- rS FreeBSD src repository - subversion
- Lint
Lint Passed - Unit
No Test Coverage - Build Status
Buildable 40113 Build 37002: arc lint + arc unit
Event Timeline
Can you de-duplicate this with exec_sysvec_init()? For instance, could you make exec_sysvec_init() call into your new function?
Perhaps your function would need to take some flags. Or better, parametrize exec_sysinit_abi() so that you can use it instead of make practically a copy.
sys/kern/kern_sharedpage.c | ||
---|---|---|
327–335 | Why do you need to check this condition? The assert on the previous line verified that the condition is true. |
sys/kern/kern_sharedpage.c | ||
---|---|---|
321–325 | Add {} around then statement, it is multi-line. | |
355–356 | This one should be conditional on ABI_FREEBSD as well, perhaps? | |
401 | Should sv->sv_shared_page_obj == 0 (NULL BTW?) and sv->sv_shared_page_base != 0 asserts moved to exec_sysvec_init() ? | |
405 | Now, with the changes to exec_sysvec_init(), what is the reason to have exec_sysvec_init_abi()? It only asserts some state. |
sys/kern/kern_sharedpage.c | ||
---|---|---|
315 | I think that this assert (sv_shared_page_base != 0) should be only done if SV_SHP flag is set. |
sys/kern/kern_sharedpage.c | ||
---|---|---|
356 | This can be written as a single check ((flags & (SV_ABI_MASK | SV_RNG_SEED_VER) ) == (SV_ABI_FREEBSD | SV_RNG_SEED_VER)) but it is up to you. |