Add basic support for FDT to i386 & amd64. This change includes:
- Common headers for fdt.h and ofw_machdep.h under x86/include with indirections under i386/include and amd64/include.
- New modinfo for loader provided FDT blob.
- Common x86_init_fdt() called from hammer_time() on amd64 and init386() on i386.
- Split-off FDT specific low-level console functions from FDT bus methods for the uart(4) driver. The low-level console logic has been moved to uart_cpu_fdt.c and is used for arm, mips & powerpc only. The FDT bus methods are shared across all architectures.
- Add dev/fdt/fdt_x86.c to hold the fdt_fixup_table[] and the fdt_pic_table[] arrays. Both are empty right now.
FDT addresses are I/O ports on x86. Since the core FDT code does
not handle different address spaces, adding support for both I/O
ports and memory addresses requires some thought and discussion.
It may be better to use a compile-time option that controls this.
Obtained from: Juniper Networks, Inc.