We need to do a few things differently if we are to support a virtual memory map, i.e. CONFIG_MMU where CONFIG_KERNEL_VM_BASE is not the same as CONFIG_SRAM_BASE_ADDRESS. - All sections must be specified with a VMA and LMA, where VMA is the virtual address and LMA is the physical memory location. - All sections must be specified with ALIGN_WITH_INPUT to keep VMAs and LMAs synchronized To do this, the existing linker macros need some adjustment: - GROUP_LINK_IN undefined when CONFIG_KERNEL_VM_BASE is not the same as CONFIG_SRAM_BASE_ADDRESS. - New macro GROUP_ROM_LINK_IN for text/rodata sections - New macro GROUP_NOLOAD_LINK_IN for bss/noinit sections - Implicit ALIGN_WITH_INPUT for all sections GROUP_FOLLOWS_AT is unused anywhere in the kernel for years now and has been removed. Signed-off-by: Andrew Boie <andrew.p.boie@intel.com> Signed-off-by: Daniel Leung <daniel.leung@intel.com> |
||
|---|---|---|
| .. | ||
| __assert.h | ||
| arch_interface.h | ||
| atomic_builtin.h | ||
| atomic_c.h | ||
| atomic.h | ||
| base64.h | ||
| byteorder.h | ||
| cbprintf_internal.h | ||
| cbprintf.h | ||
| check.h | ||
| crc.h | ||
| device_mmio.h | ||
| dlist.h | ||
| errno_private.h | ||
| fdtable.h | ||
| kobject.h | ||
| libc-hooks.h | ||
| list_gen.h | ||
| math_extras_impl.h | ||
| math_extras.h | ||
| mem_manage.h | ||
| mutex.h | ||
| notify.h | ||
| onoff.h | ||
| p4wq.h | ||
| printk.h | ||
| rb.h | ||
| ring_buffer.h | ||
| sem.h | ||
| sflist.h | ||
| slist.h | ||
| speculation.h | ||
| sys_heap.h | ||
| sys_io.h | ||
| thread_stack.h | ||
| time_units.h | ||
| timeutil.h | ||
| util_internal.h | ||
| util_loops.h | ||
| util_macro.h | ||
| util.h | ||