c55246a63a
correctly. We now iterate the EFI memory descriptors once and collect all the information in a single pass. This includes: 1. The I/O port base address, 2. The PAL memory region. Have the physmem API track this. 3. Memory descriptors of memory we can't use, like bad memory, runtime services code & data, etc. Have the physmem API track these. 4. memory descriptors of memory we can use or re-use, such as free memory, boot time services code & data, loader code & data, etc. These are added by the physmem API. Since the PBVM page table and pages are in memory described as loader data, inform the physmem API of chunks that need to be delated from the available physical memory. While here, remove Maxmem and replace it with the better named paddr_max. Maxmem was defined as physmem, which is generally wrong. Now, paddr_max is properly defined as the largesty physical address. The upshot of all this is that: 1. We properly determine realmem. 2. We maximize physmem by re-using memory where possible. 3. We remove complexity from ia64_init() in machdep.c. 4. Remove confusion about realmem, physmem & Maxmem. The new ia64_physmem_alloc() is to replace pmap_steal_memory() in pmap.c, as well as replace the handcrafted allocation of the VHPT for the BSP in pmap_bootstrap() in pmap.c. This is step 2 and addresses the manipulation of phys_avail after it is being created.
143 lines
6.0 KiB
Plaintext
143 lines
6.0 KiB
Plaintext
# This file tells config what files go into building a kernel,
|
|
# files marked standard are always included.
|
|
#
|
|
# $FreeBSD$
|
|
#
|
|
# The long compile-with and dependency lines are required because of
|
|
# limitations in config: backslash-newline doesn't work in strings, and
|
|
# dependency lines other than the first are silently ignored.
|
|
#
|
|
#
|
|
font8x16.o optional std8x16font \
|
|
compile-with "uudecode < /usr/share/syscons/fonts/${STD8X16FONT}-8x16.fnt && file2c 'unsigned char font_16[16*256] = {' '};' < ${STD8X16FONT}-8x16 > font8x16.c && ${CC} -c ${CFLAGS} font8x16.c" \
|
|
no-implicit-rule before-depend \
|
|
clean "${STD8X16FONT}-8x16 font8x16.c"
|
|
#
|
|
atkbdmap.h optional atkbd_dflt_keymap \
|
|
compile-with "/usr/sbin/kbdcontrol -L ${ATKBD_DFLT_KEYMAP} | sed -e 's/^static keymap_t.* = /static keymap_t key_map = /' -e 's/^static accentmap_t.* = /static accentmap_t accent_map = /' > atkbdmap.h" \
|
|
no-obj no-implicit-rule before-depend \
|
|
clean "atkbdmap.h"
|
|
#
|
|
font.h optional sc_dflt_font \
|
|
compile-with "uudecode < /usr/share/syscons/fonts/${SC_DFLT_FONT}-8x16.fnt && file2c 'static u_char dflt_font_16[16*256] = {' '};' < ${SC_DFLT_FONT}-8x16 > font.h && uudecode < /usr/share/syscons/fonts/${SC_DFLT_FONT}-8x14.fnt && file2c 'static u_char dflt_font_14[14*256] = {' '};' < ${SC_DFLT_FONT}-8x14 >> font.h && uudecode < /usr/share/syscons/fonts/${SC_DFLT_FONT}-8x8.fnt && file2c 'static u_char dflt_font_8[8*256] = {' '};' < ${SC_DFLT_FONT}-8x8 >> font.h" \
|
|
no-obj no-implicit-rule before-depend \
|
|
clean "font.h ${SC_DFLT_FONT}-8x14 ${SC_DFLT_FONT}-8x16 ${SC_DFLT_FONT}-8x8"
|
|
#
|
|
ukbdmap.h optional ukbd_dflt_keymap \
|
|
compile-with "/usr/sbin/kbdcontrol -L ${UKBD_DFLT_KEYMAP} | sed -e 's/^static keymap_t.* = /static keymap_t key_map = /' -e 's/^static accentmap_t.* = /static accentmap_t accent_map = /' > ukbdmap.h" \
|
|
no-obj no-implicit-rule before-depend \
|
|
clean "ukbdmap.h"
|
|
#
|
|
cddl/contrib/opensolaris/common/atomic/ia64/opensolaris_atomic.S optional zfs compile-with "${ZFS_S}"
|
|
compat/freebsd32/freebsd32_ioctl.c optional compat_freebsd32
|
|
compat/freebsd32/freebsd32_misc.c optional compat_freebsd32
|
|
compat/freebsd32/freebsd32_syscalls.c optional compat_freebsd32
|
|
compat/freebsd32/freebsd32_sysent.c optional compat_freebsd32
|
|
compat/ia32/ia32_sysvec.c optional compat_freebsd32
|
|
contrib/ia64/libuwx/src/uwx_bstream.c standard
|
|
contrib/ia64/libuwx/src/uwx_context.c standard
|
|
contrib/ia64/libuwx/src/uwx_env.c standard
|
|
contrib/ia64/libuwx/src/uwx_scoreboard.c standard
|
|
contrib/ia64/libuwx/src/uwx_step.c standard
|
|
contrib/ia64/libuwx/src/uwx_str.c standard
|
|
contrib/ia64/libuwx/src/uwx_swap.c standard
|
|
contrib/ia64/libuwx/src/uwx_trace.c standard
|
|
contrib/ia64/libuwx/src/uwx_uinfo.c standard
|
|
contrib/ia64/libuwx/src/uwx_utable.c standard
|
|
crypto/blowfish/bf_enc.c optional crypto | ipsec
|
|
crypto/des/des_enc.c optional crypto | ipsec | netsmb
|
|
dev/atkbdc/atkbd.c optional atkbd atkbdc
|
|
dev/atkbdc/atkbd_atkbdc.c optional atkbd atkbdc
|
|
dev/atkbdc/atkbdc.c optional atkbdc
|
|
dev/atkbdc/atkbdc_isa.c optional atkbdc isa
|
|
dev/atkbdc/atkbdc_subr.c optional atkbdc
|
|
dev/atkbdc/psm.c optional psm atkbdc
|
|
dev/fb/fb.c optional fb | vga
|
|
dev/fb/vga.c optional vga
|
|
dev/hwpmc/hwpmc_ia64.c optional hwpmc
|
|
dev/io/iodev.c optional io
|
|
dev/kbd/kbd.c optional atkbd | sc | ukbd
|
|
dev/syscons/scterm-teken.c optional sc
|
|
dev/syscons/scvgarndr.c optional sc vga
|
|
dev/syscons/scvtb.c optional sc
|
|
dev/uart/uart_cpu_ia64.c optional uart
|
|
dev/acpica/acpi_if.m standard
|
|
ia64/acpica/OsdEnvironment.c optional acpi
|
|
ia64/acpica/acpi_machdep.c optional acpi
|
|
ia64/acpica/acpi_wakeup.c optional acpi
|
|
ia64/acpica/madt.c optional acpi
|
|
ia64/disasm/disasm_decode.c standard
|
|
ia64/disasm/disasm_extract.c standard
|
|
ia64/disasm/disasm_format.c standard
|
|
ia64/ia32/ia32_misc.c optional compat_freebsd32
|
|
ia64/ia32/ia32_reg.c optional compat_freebsd32
|
|
ia64/ia32/ia32_signal.c optional compat_freebsd32
|
|
ia64/ia32/ia32_trap.c optional compat_freebsd32
|
|
ia64/ia64/autoconf.c standard
|
|
ia64/ia64/bus_machdep.c standard
|
|
ia64/ia64/busdma_machdep.c standard
|
|
ia64/ia64/clock.c standard
|
|
ia64/ia64/context.S standard
|
|
ia64/ia64/db_machdep.c optional ddb
|
|
ia64/ia64/dump_machdep.c standard
|
|
ia64/ia64/efi.c standard
|
|
ia64/ia64/elf_machdep.c standard
|
|
ia64/ia64/emulate.c standard
|
|
ia64/ia64/exception.S standard
|
|
ia64/ia64/gdb_machdep.c optional gdb
|
|
ia64/ia64/highfp.c standard
|
|
ia64/ia64/in_cksum.c optional inet | inet6
|
|
ia64/ia64/interrupt.c standard
|
|
ia64/ia64/iodev_machdep.c optional io
|
|
ia64/ia64/locore.S standard no-obj
|
|
ia64/ia64/machdep.c standard
|
|
ia64/ia64/mca.c standard
|
|
ia64/ia64/mem.c optional mem
|
|
ia64/ia64/mp_locore.S optional smp
|
|
ia64/ia64/mp_machdep.c optional smp
|
|
ia64/ia64/nexus.c standard
|
|
ia64/ia64/pal.S standard
|
|
ia64/ia64/physical.S standard
|
|
ia64/ia64/physmem.c standard
|
|
ia64/ia64/pmap.c standard
|
|
ia64/ia64/ptrace_machdep.c standard
|
|
ia64/ia64/sal.c standard
|
|
ia64/ia64/sapic.c standard
|
|
ia64/ia64/setjmp.S standard
|
|
ia64/ia64/ssc.c optional ski
|
|
ia64/ia64/sscdisk.c optional ski
|
|
ia64/ia64/stack_machdep.c optional ddb | stack
|
|
ia64/ia64/support.S standard
|
|
ia64/ia64/sys_machdep.c standard
|
|
ia64/ia64/syscall.S standard
|
|
ia64/ia64/trap.c standard
|
|
ia64/ia64/uio_machdep.c standard
|
|
ia64/ia64/uma_machdep.c standard
|
|
ia64/ia64/unaligned.c standard
|
|
ia64/ia64/unwind.c standard
|
|
ia64/ia64/vm_machdep.c standard
|
|
ia64/isa/isa.c optional isa
|
|
ia64/isa/isa_dma.c optional isa
|
|
ia64/pci/pci_cfgreg.c optional pci
|
|
isa/syscons_isa.c optional sc
|
|
isa/vga_isa.c optional vga
|
|
kern/imgact_elf32.c optional compat_freebsd32
|
|
kern/kern_clocksource.c standard
|
|
libkern/bcmp.c standard
|
|
libkern/ffsl.c standard
|
|
libkern/fls.c standard
|
|
libkern/flsl.c standard
|
|
libkern/ia64/__divdi3.S standard
|
|
libkern/ia64/__divsi3.S standard
|
|
libkern/ia64/__moddi3.S standard
|
|
libkern/ia64/__modsi3.S standard
|
|
libkern/ia64/__udivdi3.S standard
|
|
libkern/ia64/__udivsi3.S standard
|
|
libkern/ia64/__umoddi3.S standard
|
|
libkern/ia64/__umodsi3.S standard
|
|
libkern/ia64/bswap16.S standard
|
|
libkern/ia64/bswap32.S standard
|
|
libkern/memmove.c standard
|
|
libkern/memset.c standard
|
|
kern/subr_dummy_vdso_tc.c standard
|