| History log of /src/sys/arch/evbarm/fdt | 
    | Revision | Date | Author | Comments | 
| 1.4 | 06-Sep-2025 | thorpej | Refactor the "platform" defitions into fdt_platform.h 
 | 
| 1.3 | 07-Apr-2023 | skrll | Rename ARM_PLATFORM to FDT_PLATFORM and make it available outside arm. 
 | 
| 1.2 | 15-Oct-2022 | jmcneill | Use "non-posted" instead of "strongly ordered" to describe nGnRnE mappings 
 Rename the following defines:
 - _ARM_BUS_SPACE_MAP_STRONGLY_ORDERED to BUS_SPACE_MAP_NONPOSTED
 - PMAP_DEV_SO to PMAP_DEV_NP
 - LX_BLKPAG_ATTR_DEVICE_MEM_SO to LX_BLKPAG_ATTR_DEVICE_MEM_NP
 Rename the following option:
 - AARCH64_DEVICE_MEM_STRONGLY_ORDERED to AARCH64_DEVICE_MEM_NONPOSTED
 
 | 
| 1.1 | 06-Sep-2021 | jmcneill | Instead of requiring drivers to be explicit about their device memory mapping requirements, move this decision into the fdt layer. This
 introduces a new MD function, fdtbus_bus_tag_create, which is responsible
 for returning per-node bus_space handles.
 
 | 
| 1.1 | 20-Feb-2020 | jmcneill | branches:  1.1.2;  1.1.6; Add dma-ranges support.
 
 | 
| 1.1.6.2 | 08-Apr-2020 | martin | Merge changes from current as of 20200406 
 | 
| 1.1.6.1 | 20-Feb-2020 | martin | file fdt_dma_machdep.c was added on branch phil-wifi on 2020-04-08 14:07:35 +0000 
 | 
| 1.1.2.2 | 29-Feb-2020 | ad | Sync with head. 
 | 
| 1.1.2.1 | 20-Feb-2020 | ad | file fdt_dma_machdep.c was added on branch ad-namecache on 2020-02-29 20:18:22 +0000 
 | 
| 1.112 | 04-Oct-2025 | thorpej | Use device_{get,set}prop_bool() for "is_console". 
 | 
| 1.111 | 06-Sep-2025 | thorpej | Re-factor the console-related code into fdt_console.[ch] 
 | 
| 1.110 | 06-Sep-2025 | thorpej | Refactor the "platform" defitions into fdt_platform.h 
 | 
| 1.109 | 08-Mar-2025 | jmcneill | arm64: Add a gross hack to allow handoff from genfb to PCI DRM drivers. 
 Similar to how this is handled on x86.
 
 | 
| 1.108 | 30-Jun-2024 | jmcneill | fdt: Add a fp_device_register_post_config callback to fdt_platform. 
 | 
| 1.107 | 19-Jan-2024 | skrll | branches:  1.107.2; Make fdt_cpu_rootconf available for other machines/platforms.
 
 | 
| 1.106 | 04-Aug-2023 | mrg | avoid comparing arrays directly, compare the address of their first element. 
 found by GCC 12.
 
 | 
| 1.105 | 10-Jul-2023 | rin | fdt(4): Factor out bootargs support from evbarm and riscv. 
 | 
| 1.104 | 10-Jul-2023 | rin | Factor out some fdt(4) features from {,evb}arm into dev/fdt. 
 Now, FDT-based support to efirt, initrd, rndseed, and efirng can be
 used from, e.g., riscv.
 
 Mostly from Nick Hudson.
 
 XXX
 As Nick comments, there can be some optimizations for fdt_map_range().
 efiboot may also be modified to load these objects into aligned PAs.
 
 | 
| 1.103 | 22-Apr-2023 | skrll | Move fdt_update_stdout_path from evbarm code to MI code 
 | 
| 1.102 | 07-Apr-2023 | skrll | Rename ARM_PLATFORM to FDT_PLATFORM and make it available outside arm. 
 | 
| 1.101 | 05-Mar-2023 | mlelstv | Locate wedges as boot device and also match a partition GUID. 
 | 
| 1.100 | 05-Feb-2023 | mrg | fix root detection on evbarm when raid is involved 
 there are several problems solved in this change:
 - lots of work was re-done when we already have determined the
 device booted from, so several new early returns introduced
 if booted_device has been set
 - due to the lack of cpu_bootconf(), raidframe softroot would
 override "root=xxx" on the boot command line (note that
 platforms that use eg, device_register() to detect the boot
 device are not affected by this issue as they find the
 boot device much earlier.)
 - in the new cpu_bootconf(), switch the order of the platform
 boot-config with the set_root_device() call.  this avoids a
 problem where "root=xxx" is checked after automated methods,
 and is thus ignored.
 - in fdt_detect_root_device(), remove the code to add "root=xxx""
 string to the boot_args[] that would be later parsed by the
 set_root_device() call, and simply set booted_device and, for
 mbr installs, booted_partition directly.  also, for any
 successful call, perform an early return.
 - define __HAVE_CPU_BOOTCONF so early boot calls cpu_bootconf().
 
 
 tested on:
 - rockpro64 booting from emmc, sata (big, and little endian)
 - rockpro64 loading kernel from msdos partition
 - rockpro64 booting from network (fails to auto-detect, with or
 without this change)
 - quartz64 booting from nvme
 - lx2k booting from nvme
 
 XXX: pullup-10
 
 | 
| 1.99 | 04-Nov-2022 | jmcneill | branches:  1.99.2; Size boot_physmem with FDT_MEMORY_RANGES.
 
 This effectively increases the size from 64 to 256 entries for Arm kernels.
 It turns out on large systems that memory can be quite fragmented by UEFI.
 Increasing the size of this just kicks the can down the road, we need a
 better solution to deal with boot_physmem/fdt_memory/bootparams.dram
 sizing.
 
 | 
| 1.98 | 21-Oct-2022 | skrll | Fix build after previous. 
 | 
| 1.97 | 20-Oct-2022 | skrll | Remove an empty line 
 | 
| 1.96 | 20-Oct-2022 | skrll | Move the fdt_memory_remove_reserved call out of fdt_build_bootconfig 
 NFC.
 
 | 
| 1.95 | 30-Sep-2022 | skrll | Actually release the VA in fdt_unmap_range 
 | 
| 1.94 | 30-Sep-2022 | skrll | KNF 
 | 
| 1.93 | 28-Sep-2022 | skrll | KNF 
 | 
| 1.92 | 28-Sep-2022 | skrll | Typo in comment 
 | 
| 1.91 | 02-Apr-2022 | skrll | Update to support EFI runtime outside the kernel virtual address space by creating an EFI RT pmap that can be activated / deactivated when
 required.
 
 Adds support for EFI RT to ARM_MMU_EXTENDED (ASID) 32-bit Arm machines.
 
 On Arm64 the usage of pmapboot_enter is reduced and the mappings are
 created much later in the boot process -- now in cpu_startup_hook.
 Backward compatiblity for KVA mapped RT from old bootaa64.efi is
 maintained.
 
 Adding support to other platforms should be easier as a result.
 
 | 
| 1.90 | 19-Mar-2022 | hannken | Fix locking after opendisk(), VOP_IOCTL() needs an unlocked vnode, vn_rdwr() needs flag IO_NODELOCKED.
 
 | 
| 1.89 | 19-Mar-2022 | skrll | Improve a VPRINTF 
 | 
| 1.88 | 09-Mar-2022 | mrg | in fdt_cpu_rootconf(), return without doing anything (like setting "root=something" in boot_args, or booted_device), if booted_device
 is already set to something.
 
 this makes raidframe softroot work on evbarm.
 
 | 
| 1.87 | 19-Mar-2021 | jmcneill | earlyconsgetc: return -1 instead of 0 because we will never produce input 
 | 
| 1.86 | 18-Dec-2020 | skrll | Add a comment 
 | 
| 1.85 | 18-Dec-2020 | skrll | Make EFI_RUNTIME compile on arm 
 | 
| 1.84 | 18-Dec-2020 | skrll | KNF 
 | 
| 1.83 | 12-Dec-2020 | skrll | Move evbarm/fdt/fdt_memory.[ch] to sys/dev/fdt and simplify the api and some operations.  This allows other architectures to use it.
 
 | 
| 1.82 | 28-Nov-2020 | riastradh | evbarm: Bump efirng entropy estimate. 
 I'm not really happy with this, but my lack of confidence in the
 remaining question marks about this (no real documentation about the
 underlying physical processes, and a slightly self-inconsistent uefi
 spec) is outweighed by the value of not distracting people with
 entropy warnings on systems that are almost certainly fine.
 
 | 
| 1.81 | 26-Nov-2020 | skrll | Style around setting the physical memory limit.  NFCI. 
 | 
| 1.80 | 26-Nov-2020 | skrll | Tweak a comment 
 | 
| 1.79 | 24-Nov-2020 | skrll | Simplify.  NFCI. 
 | 
| 1.78 | 07-Nov-2020 | skrll | Print the devmap we're using in the debug output 
 | 
| 1.77 | 20-Oct-2020 | jmcneill | branches:  1.77.2; Instead of trying to prevent pciconf from reconfiguring the firmware's
 framebuffer, instead allow MD code to register callbacks. If a resource is
 changed, the driver can unmap the old resource and remap the new. Do this
 with simplefb so the console doesn't explode when the VGA device is
 (potentially) reconfigured at boot.
 
 | 
| 1.76 | 19-Oct-2020 | rin | Fix colors of 32-bpp raster console for evbarm/aarch64eb and armeb. 
 Most boards are configured to little-endian in initial, and switched
 to big-endian after kernel is loaded. In this case, framebuffer seems
 byte-swapped to CPU.
 
 It is best to reconfigure framebuffer (as done recently for sunxi_mixer
 by jmcneill), but in most cases, HW is incapable, or we just don't know
 register bits to configure them.
 
 Therefore, override "format" FDT property for "simple-framebuffer" to
 let drivers know byte-order for 32-bpp framebuffer.
 
 Then, make fdt/simplefb (genfb) and arm_simplefb (early console) detect
 byte-swapped FB, and configure genfb(4) or rasops(4) layers accordingly.
 
 Tested on Pine A64+ (arm_simplefb) and Cubietruck (both fdt/simplefb and
 arm_simplefb).
 
 Discussed with jmcneill. Thanks!!
 
 | 
| 1.75 | 10-Oct-2020 | jmcneill | Support early FB console attachment when booting with a devicetree (non-ACPI mode). Inform the pciconf code about the framebuffer to
 prevent pciconf from changing resources out from under us when framebuffer
 memory is in VRAM.
 
 | 
| 1.74 | 25-Sep-2020 | skrll | Add a newline 
 | 
| 1.73 | 27-Jun-2020 | jmcneill | Make sure we pass full pages to fdt_memory_remove_range 
 | 
| 1.72 | 15-May-2020 | skrll | Fix build on arm 
 | 
| 1.71 | 14-May-2020 | riastradh | Free kva for rndseed and efirng when done. 
 The physical pages remain forever reserved because it's not convenient
 to unreserve them at the moment after we reserved them during
 fdt_build_bootconifg, but it's just two pages so not that big a deal.
 
 | 
| 1.70 | 14-May-2020 | riastradh | Deduplicate address-range querying/mapping logic. 
 | 
| 1.69 | 14-May-2020 | riastradh | Teach arm fdt kernel to use /chosen/netbsd,efirng data. 
 Feed it in as a separate random source, with zero entropy since this
 is a best-effort fallback for devices we really don't know anything
 about.
 
 | 
| 1.68 | 08-Mar-2020 | skrll | Fix LOCKDEBUG by calling fdtbus_intr_init as part of cpu_startup_hook, i.e. later.
 
 | 
| 1.67 | 16-Feb-2020 | thorpej | Rename fdtbus_set_data() to fdtbus_init().  NFC. 
 | 
| 1.66 | 21-Jan-2020 | jmcneill | Switch aarch64 to use a single freelist. 
 | 
| 1.65 | 18-Dec-2019 | riastradh | branches:  1.65.2; Implement rndseed support in efiboot and fdt arm.
 
 The EFI environment variable `rndseed' specifies the path to the
 random seed.  It is loaded only for fdt platforms at the moment.
 
 Since the rndseed (an rndsave_t object as defined in <sys/rndio.h>)
 is 536 bytes long (for hysterical raisins), and to avoid having to
 erase parts of the fdt tree, we load it into a physical page whose
 address is passed in the fdt tree, rather than passing the content of
 the file as an fdt node directly; the kernel then reserves the page
 from uvm, and maps it into kva to call rnd_seed.
 
 For now, the only kernel that does use efiboot with fdt is evbarm,
 which knows to handle the rndseed.  Any new kernels that use efiboot
 with fdt must do the same; otherwise uvm may hand out the page with
 the secret key on it for a normal page allocation in the kernel --
 which should be OK if there are no kernel memory disclosure bugs, but
 would lead to worse consequences than simply loading the seed late in
 userland with /etc/rc.d/random_seed otherwise.
 
 ok jmcneill
 
 | 
| 1.64 | 16-Jul-2019 | skrll | branches:  1.64.2; Consistently use vaddr_t as initarm and friends return type.
 
 Makes no difference to binaries except for aarch64 where it's required
 
 | 
| 1.63 | 15-Jul-2019 | skrll | Fix and improve a VPRINTF 
 | 
| 1.62 | 24-Apr-2019 | skrll | In fdt_add_boot_physmem make sure the memory range has pages available before adding it to the fdt_physmem array.
 
 Fixes a problem that jmcneill@ pointed out to me.
 
 | 
| 1.61 | 30-Mar-2019 | jmcneill | Make fdt_get_memory return all of physical memory on ARM (matching ARM64 behavior) 
 | 
| 1.60 | 16-Mar-2019 | skrll | Spell common correctly in comment. Spotted by jmcneill 
 | 
| 1.59 | 16-Mar-2019 | skrll | Flush the BP cache just before starting APs so that cache coherency starts with a correct view.
 
 | 
| 1.58 | 31-Jan-2019 | skrll | Only free the _init_memory pages if all APs start corectly. 
 | 
| 1.57 | 23-Dec-2018 | skrll | Appease clang.  Tested by roy. 
 | 
| 1.56 | 28-Nov-2018 | ryo | support boot option "-1" to disable multiprocessor boot, and "-z" to set AB_SILENT flag. 
 | 
| 1.55 | 15-Nov-2018 | jmcneill | If the bootloader specifies a boot mac-address, use it to find the root device. 
 | 
| 1.54 | 03-Nov-2018 | skrll | Less is more 
 | 
| 1.53 | 01-Nov-2018 | jmcneill | Add support for auto-selection of GPT root devices 
 | 
| 1.52 | 31-Oct-2018 | jmcneill | Use PRIx64 to print uint64_t 
 | 
| 1.51 | 31-Oct-2018 | jmcneill | Setup mappings for EFI runtime mmio ranges. 
 | 
| 1.50 | 31-Oct-2018 | skrll | Fix VERBOSE_INIT_ARM build 
 | 
| 1.49 | 30-Oct-2018 | jmcneill | Replace extent(9) with our own code to deal with adding and reserving memory ranges.
 
 | 
| 1.48 | 30-Oct-2018 | skrll | Retire fdt_putchar and ap_early_put_char in favour of uartputc. 
 | 
| 1.47 | 29-Oct-2018 | jmcneill | If a /chosen/framebuffer node is found, reserve physical memory claimed by it.
 
 | 
| 1.46 | 28-Oct-2018 | jmcneill | Add support for EFI runtime services on aarch64. 
 | 
| 1.45 | 18-Oct-2018 | skrll | Revert a VPRINTF to printf 
 | 
| 1.44 | 18-Oct-2018 | skrll | Provide generic start code that assumes the MMU is off and caches are disabled as per the linux booting protocol for ARMv6 and ARMv7 boards.
 u-boot image type should be changed to 'linux' for correct behaviour.
 
 The new start code builds a minimal "bootstrap" L1PT with cached access
 disabled and uses the same table for all processors.  AP startup is
 performed in less steps and more code is written in C.
 
 The bootstrap tables and stack are placed into an (orphaned) section
 "_init_memory" which is given to uvm when it is no longer used.
 
 Various kernels have been converted to use this code and tested.  Some
 boards were provided by TNF. Thanks!
 
 The GENERIC kernel now boots on boards using the TEGRA, SUNXI and EXYNOS
 kernels. The GENERIC kernel will also work on RPI2 using u-boot.
 
 Thanks to martin@ and aymeric@ for testing on parallella and nanosoc
 respectively
 
 | 
| 1.43 | 14-Oct-2018 | skrll | Use __nothing 
 | 
| 1.42 | 04-Oct-2018 | ryo | don't call plat->ap_early_putchar if not defined EARLYCONS 
 | 
| 1.41 | 29-Sep-2018 | jmcneill | If the total size of the DTB exceeds our static storage, attempt to pack it in place to make it fit.
 
 | 
| 1.40 | 29-Sep-2018 | jmcneill | Increase storage space for DTB (for QEMU) 
 | 
| 1.39 | 26-Sep-2018 | bouyer | Don't call ukbd_cnattach() unconditionally, this causes a non-functionnal keyboard if there is a framebuffer but the console is serial only.
 Instead add a fdt_device_register_post_config() callback, which checks
 if the just-attached wsdisplay is the console, and calls ukbd_cnattach()
 in this case.
 OK jmcneill@
 
 | 
| 1.38 | 22-Sep-2018 | jmcneill | Use fdt_open_into instead of fdt_move to load the DTB since we may make changes to the tree after loading it. When we are done making changes,
 call fdt_pack.
 
 | 
| 1.37 | 16-Sep-2018 | skrll | Use do { } while (/* CONSTCOND */ 0) for nop VPRINTF 
 | 
| 1.36 | 14-Sep-2018 | jakllsch | fdt_cpu_rootconf: fix root on wd(4) 
 Remove duplicate 'ld' and replace with previously-missing 'wd'.
 
 | 
| 1.35 | 07-Sep-2018 | jmcneill | Increase MAX_PHYSMEM to 64 
 | 
| 1.34 | 27-Aug-2018 | jmcneill | When the root= boot arg is missing, attempt to autodetect the root device by comparing a hash of a disk device's MBR with the hash passed in from
 the bootloader.
 
 | 
| 1.33 | 23-Aug-2018 | jmcneill | Deal with reserved memory ranges that start before mem start 
 | 
| 1.32 | 05-Aug-2018 | skrll | Add prefixes to struct arm_platform{,_info} members. 
 No functional change.
 
 | 
| 1.31 | 05-Aug-2018 | skrll | Refactor code to split aarch{32,64} kernel page tables and VM setup.  This will help re-build the kernel page tables on aarch64 with correct section
 mappings.
 
 | 
| 1.30 | 03-Aug-2018 | skrll | Provide and use a evbarm/fdt/machdep.h 
 | 
| 1.29 | 03-Aug-2018 | skrll | s/DPRINTF/VPRINTF/ for consistency 
 | 
| 1.28 | 03-Aug-2018 | skrll | Mark fdt_addr_r __attribute__((__section__(".data"))) 
 | 
| 1.27 | 17-Jul-2018 | christos | restore type of uboot_args 
 | 
| 1.26 | 17-Jul-2018 | christos | make sure uboot_args is in the data segment by saying so, as opposed to depending on initializing it to 0.
 
 | 
| 1.25 | 17-Jul-2018 | christos | fix printf formats ll? -> PRIx64 
 | 
| 1.24 | 27-Jun-2018 | ryo | branches:  1.24.2; on evbarm/RPI,RPI2, VERBOSE_INIT_ARM had broken.
 
 XPUTC() of evbarm/rpi/rpi*_start.S uses bcm283[567]_platform_early_putchar() and it requires stack.
 fixed to allocate stack when starting from rpi*_start.S and a9_mpsubr.S if needed.
 
 to work XPUTC(), need to define VERBOSE_INIT_ARM and EARLYCONS option.
 
 | 
| 1.23 | 21-Jun-2018 | ryo | * make to work printf() and panic() even before consinit(). * tidy up output for VERBOSE_INIT_ARM.
 
 | 
| 1.22 | 14-Jun-2018 | jmcneill | Increase storage space for FDT data 
 | 
| 1.21 | 01-Apr-2018 | ryo | Add initial support for ARMv8 (AARCH64) (by nisimura@ and ryo@) 
 - sys/arch/evbarm64 is gone and integrated into sys/arch/evbarm. (by skrll@)
 - add support fdt. evbarm/conf/GENERIC64 fdt (bcm2837,sunxi,tegra) based generic 64bit kernel config. (by skrll@, jmcneill@)
 
 | 
| 1.20 | 03-Mar-2018 | skrll | branches:  1.20.2; Start code now updates a global variable fdt_addr_r to handle differences
 in boot protocol (think arm64)
 
 | 
| 1.19 | 21-Dec-2017 | skrll | Remove unnecessary #include 
 | 
| 1.18 | 14-Dec-2017 | martin | Fix the calculation of the end address of a reserved memory range. From Nick. Makes my CubieTruck boot again.
 
 | 
| 1.17 | 13-Dec-2017 | jmcneill | Fix off-by-one in nfdt_physmem KASSERT, and while here bump MAX_PHYSMEM from 4 to 16.
 
 | 
| 1.16 | 10-Dec-2017 | skrll | FDTise RapberryPI support. Thanks for jmcneill for a lot of help with this. 
 The kernel image that the RPI firmware boots is now netbsd.img in the
 kernel build directory.
 
 XXX fdtbus_get_reg needs reworking
 
 | 
| 1.15 | 09-Nov-2017 | skrll | branches:  1.15.2; trailing whitespace
 
 | 
| 1.14 | 10-Sep-2017 | jmcneill | Allow USB keyboards to attach as console devices. 
 | 
| 1.13 | 24-Aug-2017 | jmcneill | branches:  1.13.2; Add EX_EARLY flag for extent_create, which skips locking. Required for
 using extent subsystem in early bootstrap code, before caches are enabled.
 From skrll@
 
 | 
| 1.12 | 20-Aug-2017 | jakllsch | Ignore 0-sized memory regions in the FDT. 
 | 
| 1.11 | 21-Jul-2017 | jmcneill | Fix reserved memory handling. 
 | 
| 1.10 | 10-Jul-2017 | jmcneill | port-evbarm/52388: Fix number of args to a debug printf. 
 | 
| 1.9 | 05-Jul-2017 | chs | the extent code cannot use the full range of u_long, so ignore the last page before 4GB too.  ok jmcneill@
 
 | 
| 1.8 | 05-Jul-2017 | jmcneill | Add support for reserved memory and MEMORY_DISK_DYNAMIC for FDT-based kernels.
 
 | 
| 1.7 | 11-Jun-2017 | jmcneill | Parse more than one entry from the /memory node's reg property. 
 | 
| 1.6 | 06-Jun-2017 | jmcneill | Initialize boot_args before bootstrap for the benefit of platform code. 
 | 
| 1.5 | 06-Jun-2017 | jmcneill | Add support for stdout-path= kernel cmdline option to override the console device specified in the FDT.
 
 | 
| 1.4 | 02-Jun-2017 | jmcneill | branches:  1.4.2; Allow platform code to specify the UART frequency for consinit
 
 | 
| 1.3 | 02-Jun-2017 | jmcneill | FDT-ize "delay" by having fdt_machdep provide the delay() function and move the implementations into the platform code.
 
 | 
| 1.2 | 30-May-2017 | jmcneill | Fix VERBOSE_INIT_ARM build with TEGRA kernel. 
 | 
| 1.1 | 30-May-2017 | jmcneill | Rename tegra_machdep.c to fdt_machdep.c now that it no longer has any Tegra-specific code in it.
 
 | 
| 1.4.2.5 | 25-Aug-2017 | snj | Pull up following revision(s) (requested by jakllsch in ticket #220): sys/arch/evbarm/fdt/fdt_machdep.c: revision 1.12
 Ignore 0-sized memory regions in the FDT.
 
 | 
| 1.4.2.4 | 25-Jul-2017 | snj | Pull up following revision(s) (requested by jmcneill in ticket #151): sys/arch/evbarm/fdt/fdt_machdep.c: revision 1.11
 Fix reserved memory handling.
 
 | 
| 1.4.2.3 | 18-Jul-2017 | snj | Pull up following revision(s) (requested by jmcneill in ticket #114): sys/arch/arm/samsung/exynos_intr.h: revision 1.3
 sys/arch/arm/sunxi/sun8i_h3_ccu.c: revision 1.1
 sys/arch/arm/sunxi/sun8i_h3_ccu.c: revision 1.2
 sys/arch/arm/sunxi/sun8i_h3_ccu.c: revision 1.3
 sys/arch/arm/sunxi/sunxi_gates.c: revision 1.1
 distrib/utils/embedded/mkimage: revision 1.66
 sys/arch/arm/sunxi/sun8i_h3_ccu.c: revision 1.4
 sys/arch/arm/sunxi/sunxi_rsb.c: revision 1.1
 sys/arch/arm/sunxi/sun8i_h3_ccu.c: revision 1.5
 sys/arch/arm/sunxi/sun8i_h3_ccu.c: revision 1.6
 sys/arch/arm/sunxi/sun8i_h3_ccu.c: revision 1.7
 sys/dev/gpio/gpio.c: revision 1.59
 sys/arch/arm/sunxi/sunxi_ccu_prediv.c: revision 1.1
 sys/conf/Makefile.kern.inc: revision 1.257
 sys/arch/evbarm/conf/ODROID-XU_INSTALL: file removal
 sys/arch/arm/sunxi/sunxi_ccu_prediv.c: revision 1.2
 sys/conf/Makefile.kern.inc: revision 1.258
 sys/arch/arm/fdt/psci_fdt.h: revision 1.1
 sys/arch/arm/sunxi/sunxi_resets.c: revision 1.1
 sys/arch/evbarm/conf/files.sunxi: revision 1.1
 sys/arch/evbarm/fdt/fdt_machdep.c: revision 1.8
 sys/arch/evbarm/fdt/fdt_machdep.c: revision 1.9
 sys/arch/arm/samsung/files.exynos: revision 1.22
 distrib/utils/embedded/conf/armv7.conf: revision 1.13
 sys/arch/arm/samsung/files.exynos: revision 1.23
 sys/arch/evbarm/conf/std.tegra: revision 1.15
 distrib/utils/embedded/conf/armv7.conf: revision 1.14
 sys/arch/arm/samsung/files.exynos: revision 1.24
 distrib/utils/embedded/conf/armv7.conf: revision 1.15
 sys/arch/evbarm/sunxi/genassym.cf: revision 1.1
 sys/arch/arm/samsung/exynos_fdt.c: file removal
 sys/dev/fdt/fdt_pinctrl.c: revision 1.4
 sys/arch/arm/samsung/exynos_sysmmu.c: revision 1.2
 sys/arch/arm/sunxi/sun8i_h3_gpio.c: revision 1.1
 sys/arch/arm/sunxi/sunxi_twi.c: revision 1.1
 sys/dev/usb/ehci.c: revision 1.255
 sys/arch/arm/sunxi/sunxi_twi.c: revision 1.2
 sys/arch/arm/sunxi/sun8i_a83t_ccu.h: revision 1.1
 sys/dev/ic/dwc_mmc.c: revision 1.11
 sys/arch/arm/cortex/gic.c: revision 1.24
 distrib/evbarm/instkernel/ramdisk/Makefile: revision 1.17
 etc/etc.evbarm/Makefile.inc: revision 1.87
 etc/etc.evbarm/Makefile.inc: revision 1.88
 sys/arch/arm/fdt/gic_fdt.c: revision 1.5
 etc/Makefile: revision 1.429
 sys/arch/arm/fdt/gic_fdt.c: revision 1.6
 sys/arch/arm/fdt/gic_fdt.c: revision 1.7
 sys/arch/arm/sunxi/sunxi_gpio.c: revision 1.1
 sys/arch/arm/sunxi/sunxi_gpio.c: revision 1.2
 sys/arch/evbarm/conf/std.sunxi: revision 1.1
 sys/arch/arm/sunxi/sunxi_gpio.c: revision 1.3
 sys/arch/evbarm/conf/std.sunxi: revision 1.2
 sys/arch/arm/sunxi/sunxi_gpio.c: revision 1.4
 sys/arch/evbarm/conf/std.sunxi: revision 1.3
 sys/arch/arm/sunxi/sunxi_gpio.c: revision 1.5
 sys/arch/arm/sunxi/sunxi_ccu_div.c: revision 1.1
 sys/dev/gpio/gpiovar.h: revision 1.17
 sys/arch/arm/sunxi/sunxi_gpio.c: revision 1.6
 sys/arch/arm/sunxi/sunxi_gpio.c: revision 1.7
 sys/arch/arm/sunxi/sunxi_gpio.c: revision 1.8
 sys/arch/arm/sunxi/sunxi_rsb.h: revision 1.1
 sys/arch/arm/samsung/exynos_i2c.c: revision 1.12
 sys/dev/fdt/fdtvar.h: revision 1.21
 sys/arch/evbarm/sunxi/sunxi_start.S: revision 1.1
 sys/arch/arm/samsung/exynos_i2c.c: revision 1.13
 sys/dev/fdt/fdtvar.h: revision 1.22
 sys/arch/evbarm/conf/SUNXI: revision 1.10
 sys/dev/fdt/fdtvar.h: revision 1.23
 sys/arch/evbarm/conf/SUNXI: revision 1.11
 sys/dev/fdt/gpioleds.c: revision 1.1
 sys/dev/fdt/fdtvar.h: revision 1.24
 sys/arch/evbarm/conf/SUNXI: revision 1.12
 sys/arch/evbarm/conf/SUNXI: revision 1.13
 sys/arch/arm/cortex/gic.c: revision 1.30
 sys/arch/evbarm/conf/SUNXI: revision 1.14
 sys/arch/evbarm/conf/SUNXI: revision 1.15
 sys/arch/evbarm/conf/SUNXI: revision 1.16
 sys/arch/arm/sunxi/sunxi_emac.c: revision 1.1
 etc/Makefile: revision 1.430
 sys/arch/arm/sunxi/sunxi_emac.c: revision 1.2
 etc/Makefile: revision 1.431
 sys/arch/evbarm/conf/VEXPRESS_A15: revision 1.17
 sys/arch/arm/sunxi/sunxi_emac.c: revision 1.3
 sys/arch/arm/sunxi/sunxi_emac.c: revision 1.4
 sys/arch/arm/samsung/exynos5422_clock.c: revision 1.6
 sys/arch/arm/samsung/exynos_platform.c: revision 1.1
 sys/dev/ofw/ofw_subr.c: revision 1.29
 sys/arch/arm/samsung/exynos_platform.c: revision 1.2
 sys/arch/evbarm/conf/mk.vexpress: revision 1.3
 sys/arch/arm/samsung/exynos_platform.c: revision 1.3
 sys/arch/evbarm/conf/mk.vexpress: revision 1.4
 sys/arch/arm/samsung/exynos_platform.c: revision 1.4
 sys/arch/arm/arm/psci.h: revision 1.1
 sys/arch/arm/samsung/exynos_platform.c: revision 1.5
 sys/arch/arm/samsung/exynos_platform.c: revision 1.6
 sys/arch/evbarm/fdt/fdt_machdep.c: revision 1.10
 external/bsd/mdocml/bin/mandoc/Makefile: revision 1.12
 sys/dev/fdt/files.fdt: revision 1.17
 sys/dev/fdt/files.fdt: revision 1.18
 sys/dev/fdt/files.fdt: revision 1.19
 sys/arch/arm/samsung/exynos_sscom.c: revision 1.8
 sys/arch/arm/sunxi/sun8i_a83t_ccu.c: revision 1.1
 sys/arch/arm/sunxi/sunxi_mmc.c: revision 1.1
 sys/arch/arm/samsung/exynos_sscom.c: revision 1.9
 sys/arch/arm/conf/files.arm: revision 1.133
 sys/arch/arm/samsung/mct_var.h: revision 1.5
 sys/arch/arm/sunxi/sunxi_platform.c: revision 1.1
 sys/arch/arm/sunxi/sunxi_platform.c: revision 1.2
 sys/arch/evbarm/conf/std.vexpress: revision 1.6
 sys/arch/arm/sunxi/sunxi_platform.c: revision 1.3
 sys/arch/arm/sunxi/sun6i_a31_gpio.c: revision 1.1
 sys/arch/arm/sunxi/sunxi_platform.c: revision 1.4
 sys/arch/arm/sunxi/sun6i_a31_gpio.c: revision 1.2
 sys/arch/arm/sunxi/files.sunxi: revision 1.1
 sys/dev/ofw/ofw_subr.c: revision 1.30
 sys/arch/arm/sunxi/files.sunxi: revision 1.2
 sys/dev/ofw/openfirm.h: revision 1.35
 sys/arch/arm/sunxi/files.sunxi: revision 1.3
 sys/dev/ofw/openfirm.h: revision 1.36
 sys/arch/arm/sunxi/files.sunxi: revision 1.4
 sys/arch/arm/sunxi/files.sunxi: revision 1.5
 sys/arch/evbarm/exynos/exynos_machdep.c: file removal
 sys/arch/arm/sunxi/sunxi_gpio.h: revision 1.1
 sys/arch/arm/samsung/sscom.c: revision 1.9
 sys/arch/arm/sunxi/files.sunxi: revision 1.6
 sys/dev/fdt/ohci_fdt.c: revision 1.1
 sys/arch/arm/sunxi/sunxi_usbphy.c: revision 1.1
 sys/arch/arm/sunxi/sunxi_gpio.h: revision 1.2
 sys/arch/arm/sunxi/files.sunxi: revision 1.7
 sys/arch/arm/sunxi/sunxi_usbphy.c: revision 1.2
 sys/arch/arm/sunxi/sunxi_gpio.h: revision 1.3
 sys/arch/arm/sunxi/files.sunxi: revision 1.8
 sys/arch/arm/sunxi/sunxi_usbphy.c: revision 1.3
 sys/arch/arm/sunxi/files.sunxi: revision 1.9
 sys/arch/arm/samsung/exynos_sscom.c: revision 1.10
 sys/arch/evbarm/conf/mk.tegra: revision 1.5
 sys/arch/arm/samsung/exynos_dwcmmc.c: revision 1.4
 sys/arch/evbarm/conf/mk.tegra: revision 1.6
 sys/arch/evbarm/conf/EXYNOS: revision 1.15
 sys/arch/evbarm/conf/EXYNOS: revision 1.16
 sys/arch/evbarm/conf/EXYNOS: revision 1.17
 sys/arch/arm/sunxi/sunxi_ccu.c: revision 1.1
 sys/arch/evbarm/conf/EXYNOS: revision 1.19
 sys/arch/arm/sunxi/sunxi_ccu.c: revision 1.2
 sys/arch/arm/sunxi/sunxi_ccu.c: revision 1.3
 sys/arch/arm/sunxi/sunxi_ccu.c: revision 1.4
 sys/arch/arm/sunxi/sunxi_ccu.c: revision 1.5
 sys/arch/arm/sunxi/sunxi_emac.h: revision 1.1
 sys/arch/evbarm/conf/mk.sunxi: revision 1.1
 sys/arch/evbarm/include/bootconfig.h: revision 1.7
 sys/arch/evbarm/conf/TEGRA: revision 1.24
 sys/arch/arm/arm/psci.c: revision 1.1
 sys/dev/led.c: revision 1.1
 sys/dev/led.c: revision 1.2
 sys/arch/arm/arm/psci_arm.S: revision 1.1
 sys/arch/arm/sunxi/sunxi_ccu_gate.c: revision 1.1
 sys/arch/arm/sunxi/sunxi_ccu_gate.c: revision 1.2
 sys/dev/fdt/ehci_fdt.c: revision 1.1
 sys/dev/fdt/ehci_fdt.c: revision 1.2
 sys/arch/arm/sunxi/sun6i_a31_ccu.h: revision 1.1
 sys/arch/evbarm/conf/EXYNOS: revision 1.21
 sys/arch/arm/sunxi/files.sunxi: revision 1.10
 sys/arch/arm/sunxi/files.sunxi: revision 1.11
 sys/dev/fdt/fdtbus.c: revision 1.14
 sys/arch/arm/sunxi/sunxi_mmc.h: revision 1.1
 sys/arch/arm/samsung/exynos5422_dma.c: file removal
 usr.bin/config/mkmakefile.c: revision 1.69
 sys/conf/files: revision 1.1178
 sys/arch/arm/sunxi/sunxi_platform.h: revision 1.1
 sys/arch/evbarm/exynos/exynos_start.S: revision 1.4
 sys/arch/arm/samsung/exynos_pinctrl.c: revision 1.11
 sys/arch/arm/samsung/exynos_pinctrl.c: revision 1.12
 sys/arch/arm/sunxi/sunxi_rtc.c: revision 1.1
 sys/arch/arm/sunxi/sun8i_h3_ccu.h: revision 1.1
 sys/arch/arm/samsung/exynos5410_clock.c: revision 1.1
 sys/arch/arm/samsung/exynos5410_clock.c: revision 1.2
 sys/arch/evbarm/conf/SUNXI: revision 1.1
 external/bsd/elftosb/usr.sbin/elftosb/Makefile: revision 1.5
 sys/arch/evbarm/conf/SUNXI: revision 1.2
 sys/arch/arm/fdt/psci_fdt.c: revision 1.1
 sys/arch/evbarm/conf/SUNXI: revision 1.3
 sys/arch/evbarm/conf/SUNXI: revision 1.4
 sys/arch/evbarm/conf/files.exynos: revision 1.3
 sys/arch/evbarm/conf/SUNXI: revision 1.5
 sys/arch/evbarm/conf/SUNXI: revision 1.6
 sys/arch/arm/sunxi/sunxi_ccu_nm.c: revision 1.1
 sys/dev/fdt/fixedfactorclock.c: revision 1.1
 sys/dev/fdt/fdt_subr.c: revision 1.14
 sys/arch/evbarm/conf/SUNXI: revision 1.7
 sys/arch/arm/sunxi/sunxi_ccu_nm.c: revision 1.2
 sys/arch/arm/sunxi/sun8i_a83t_gpio.c: revision 1.1
 sys/dev/fdt/fdt_subr.c: revision 1.15
 sys/arch/evbarm/conf/SUNXI: revision 1.8
 sys/arch/arm/sunxi/sunxi_ccu_nm.c: revision 1.3
 sys/dev/ic/dwc_mmc_reg.h: revision 1.6
 sys/dev/fdt/fdt_subr.c: revision 1.16
 sys/arch/evbarm/conf/SUNXI: revision 1.9
 usr.bin/config/mkmakefile.c: revision 1.70
 sys/dev/fdt/fdt_phy.c: revision 1.1
 sys/arch/evbarm/conf/ODROID-XU: file removal
 sys/arch/arm/fdt/arm_fdt.c: revision 1.4
 sys/arch/arm/samsung/exynos_reg.h: revision 1.14
 sys/conf/files: revision 1.1180
 sys/arch/arm/samsung/exynos_reg.h: revision 1.15
 sys/arch/arm/sunxi/sunxi_ccu.h: revision 1.1
 sys/arch/arm/sunxi/sunxi_ccu.h: revision 1.2
 sys/arch/arm/sunxi/sunxi_ccu.h: revision 1.3
 sys/arch/arm/sunxi/sunxi_ccu.h: revision 1.4
 sys/arch/arm/sunxi/sunxi_ccu.h: revision 1.5
 sys/arch/arm/sunxi/sunxi_ccu.h: revision 1.6
 sys/dev/ic/dwc_mmc_var.h: revision 1.6
 sys/arch/arm/samsung/exynos_combiner.c: revision 1.7
 sys/arch/evbarm/exynos/platform.h: revision 1.2
 sys/arch/arm/fdt/files.fdt: revision 1.12
 sys/arch/evbarm/conf/std.exynos: revision 1.2
 sys/arch/evbarm/conf/std.exynos: revision 1.3
 sys/arch/arm/rockchip/rockchip_dwcmmc.c: revision 1.6
 sys/arch/arm/sunxi/sunxi_com.c: revision 1.1
 sys/dev/led.h: revision 1.1
 sys/arch/evbarm/conf/std.exynos: revision 1.5
 sys/arch/arm/sunxi/sunxi_com.c: revision 1.2
 sys/arch/evbarm/conf/files.evbarm: revision 1.26
 usr.bin/config/defs.h: revision 1.99
 sys/arch/arm/fdt/arm_fdtvar.h: revision 1.6
 sys/arch/arm/samsung/exynos_soc.c: revision 1.32
 sys/arch/arm/sunxi/sun6i_a31_ccu.c: revision 1.1
 sys/arch/arm/sunxi/sun6i_a31_ccu.c: revision 1.2
 sys/arch/arm/samsung/mct.c: revision 1.11
 sys/arch/evbarm/conf/ODROID-U: file removal
 sys/arch/arm/samsung/mct.c: revision 1.12
 sys/arch/arm/sunxi/sunxi_ccu_nkmp.c: revision 1.1
 sys/arch/arm/sunxi/sunxi_ccu_nkmp.c: revision 1.2
 sys/arch/arm/sunxi/sunxi_ccu_nkmp.c: revision 1.3
 sys/arch/arm/sunxi/sunxi_ccu_nkmp.c: revision 1.4
 Get the EXYNOS kernel building again with recent FDT changes. Untested.
 Use arm_fdt_cpu_hatch and add mmu entry for DTB
 Fix exynos5 devmap, bootstrap, and implement early_putchar.
 Calculate UART frequency based on bootloader config.
 Fix KERNEL_BASE_PHYS (how did this ever work?)
 Avoid divide-by-zero for unconfigured PLLs
 Correctly initialize i2cbus attach args.
 Add delay and enable mct timecounter.
 Fix build w/o VERBOSE_INIT_ARM
 Remove ODROID-U and ODROID-XU kernel configs as they no longer work.
 - Replace CONSADDR with SSCOM2CONSOLE in example
 - Remove gtmr (Exynos5422 uses mct)
 - cinclude EXYNOS.local instead of TEGRA.local
 Use fdtbus_intr_establish to hook in block interrupts instead of
 intr_establish.
 Simplify MCT; just enable it and then attach an ARMv7 generic timer.
 Add support for building DTB files during kernel build, from christos.
 build vexpress-v2p-ca15-tc1.dtb with the kernel
 build tegra124-apalis-eval.dtb, tegra124-jetson-tk1.dtb, tegra124-nyan-big.dtb, tegra124-nyan-blaze.dtb, and tegra124-venice2.dtb with the kernel
 Allow multiline makeoptions to work by quoting the newline..
 Bump for quoting makeoptions with multiple lines.
 un-c99
 bump required config version for multiline makeoptions feature
 Set DTS makeoption in kernel config
 Assign DTB files to a variable so we can make -V DTB
 put the dtb files with their kernels.
 no need for debug printing.
 Don't assume that CPU index = GIC CPU interface number. We can determine
 the current CPU interface number by reading from the read-only
 GICD_ITARGETSR0 through GICD_ITARGETSR7 registers.
 This gets interrupts working on Exynos 5422, where the boot processor has
 GIC CPU interface #4.
 use -v to get the expanded variable.
 Use -v to get the expanded variables.
 Get baud rate from sclk_uartN instead of uartN. Print IRQ number at attach.
 Fix PLL con0 register locations and add uart clocks
 Disable exyortc for now, it doesn't work.
 More or less a rewrite of dwc_mmc, based on awin_mmc, adding DMA support.
 Update for new dwc_mmc driver
 Fix dmesg
 Add Exynos 5410 clock controller driver.
 Fix a few typos in clock parent names for mmc clocks.
 From jmcneill@
 Update for new dwc_mmc driver
 Implement platform reset for exynos5
 Attach fdtbus to a /clocks node with no compatible string.
 Add support for ARM Power State Coordination Interface (PSCI).
 Support interrupt sharing.
 Add initial support for Allwinner H3 SoC.
 ARM Trusted Firmware reserves SGIs 8-15 for secure use. Even without ATF,
 U-Boot on some platforms may use SGIs in this range for the PSCI
 implementation.
 Change ARMGIC_IPI_BASE to 0 from (16 - NIPI) and add a compile-time assert
 to ensure that we don't end up with a conflict.
 Add H3 MMC support
 SD/MMC clock fixes
 Add FDT PHY interface.
 Add glue for generic ehci/ohci bindings.
 Rename a variable, NFC.
 Support parents in different clock domains.
 Add USB stuff. Doesn't quite work yet.
 Synopsys DesignWare APB UART needs "options COM_AWIN" for now.
 Add i2c glue.
 Add RTC driver.
 PHY registers start at index 1. Now USB works.
 Don't allow sharing edge and level triggered interrupts.
 Add arm_fdt_memory_dump helper for dumping physical addresses from ddb
 Print clocks with aprint_debug
 Remove unused defines
 Add fdtbus_get_string helper
 Add of_search_compatible, which searches an array of compat_data structures
 for a matching "compatible" entry matching the supplied OFW node. This
 allows us to associate data with compatible strings.
 Add driver for Allwinner Gigabit Ethernet (EMAC) as found in sun8i and
 later family SoCs.
 This is a port of my FreeBSD driver which has been confirmed to work on
 Allwinner H3, A83T, and A64 SoCs.
 Fix dmesg
 Add basic support for Allwinner A31.
 Add basic FDT GPIO support.
 Fix the pinctrl api to match the spec. A pinctrl config can have more
 than one xref, and an xref may have specifier data associated with it.
 Enable sunxi pinctrl support
 Adjust to new pinctrl API
 Add P2WI/RSB driver, based on awin_p2wi.c.
 Fix typo in a compat string.
 Configure pin defaults at attach
 No need to explicitly set pinctrl config 0 now
 Fix some register definitions.
 Disallow sharing between MPSAFE and non-MPSAFE handlers.
 Add of_match_compat_data.
 This routine searches an array of compat_data structures for a
 matching "compatible" entry matching the supplied OFW node.
 Add options __HAVE_CPU_UAREA_ALLOC_IDLELWP
 Add support for reserved memory and MEMORY_DISK_DYNAMIC for FDT-based
 kernels.
 the extent code cannot use the full range of u_long,
 so ignore the last page before 4GB too.  ok jmcneill@
 Copy install ramdisk to releasedir. Provide both a raw ffs and
 Legacy U-Boot version of it.
 Replace HUMMINGBIRD_A31 with SUNXI kernel on armv7.img and include .dtb
 files for SUNXI and TEGRA kernels on the MSDOS partition.
 Let the controller provide a default name for pins. This makes pins easier
 to locate when we have multiple banks and a variable number of pins per
 bank.
 Attach gpio(4) to sunxigpio
 Test for kernel build directory before reading DTB list
 Add support for Allwinner A83T SoC.
 Add A83T files
 Fixup busdma sync and locking in the RX path. Disable batch RX/TX ints.
 Fix AHB2 register definition and explicitly set AHB2 parent to PLL_PERIPH0/2 -- this gives us 50% more bus bandwidth for emac
 Restore TX_INTERVAL_DEFAULT to 64
 Drop the sunxi_emac_rx_batch feature. It was originally designed to
 reduce the amount of mutex unlock/lock cycles during the RX path on
 FreeBSD and if_input, but it is not required to drop the lock before
 calling if_percpuq_enqueue on NetBSD.
 Write back the data value instead of mask in sunxi_gpio_write
 Add a helper for exposing LED controls via sysctl.
 Add GPIO LED driver.
 add gpioleds
 Add misc. gates and resets driver, and explicitly enable PIO clocks
 at attach.
 Add fdtbus_get_string_index helper.
 Add driver for fixed-factor clocks.
 Add ffclock
 Remove the requirement for ehci to attach after companion devices.
 "go for it" - skrll@
 Remove the hack to find companion devices and just assume 1 companion if
 ETTF flag is not set.
 Remove pass numbers for ehci/ohci now that the attach order no longer matters
 Use unsigned char for ctype functions, suggested by christos
 Add : to body of populate_sunxi to appease bash.
 port-evbarm/52388: Fix number of args to a debug printf.
 
 | 
| 1.4.2.2 | 14-Jun-2017 | snj | Pull up following revision(s) (requested by jmcneill in ticket #31): sys/arch/evbarm/fdt/fdt_machdep.c: revision 1.7
 Parse more than one entry from the /memory node's reg property.
 
 | 
| 1.4.2.1 | 06-Jun-2017 | snj | Pull up following revision(s) (requested by jmcneill in ticket #13): sys/arch/arm/fdt/plfb_fdt.c: revision 1.2
 sys/arch/arm/vexpress/vexpress_platform.c: revision 1.3
 sys/arch/evbarm/conf/VEXPRESS_A15: revision 1.13
 sys/arch/evbarm/fdt/fdt_machdep.c: revisions 1.5, 1.6
 sys/dev/ic/pl050.c: revision 1.2
 Fix spelling of WS_DEFAULT_FG and WS_KERNEL_FG options.
 --
 Attach kbd slot to console
 --
 Allow plfb to be the console device
 --
 Add support for stdout-path= kernel cmdline option to override the
 console device specified in the FDT.
 --
 Initialize boot_args before bootstrap for the benefit of platform code.
 --
 Allow 'console=fb' to act as a shortcut on vexpress for
 'stdout-path=/smb@08000000/motherboard/iofpga@3,00000000/clcd@1f0000'
 
 | 
| 1.13.2.2 | 28-Aug-2017 | skrll | Sync with HEAD 
 | 
| 1.13.2.1 | 24-Aug-2017 | skrll | file fdt_machdep.c was added on branch nick-nhusb on 2017-08-28 17:51:34 +0000 
 | 
| 1.15.2.2 | 03-Dec-2017 | jdolecek | update from HEAD 
 | 
| 1.15.2.1 | 09-Nov-2017 | jdolecek | file fdt_machdep.c was added on branch tls-maxphys on 2017-12-03 11:36:04 +0000 
 | 
| 1.20.2.8 | 26-Dec-2018 | pgoyette | Sync with HEAD, resolve a few conflicts 
 | 
| 1.20.2.7 | 26-Nov-2018 | pgoyette | Sync with HEAD, resolve a couple of conflicts 
 | 
| 1.20.2.6 | 20-Oct-2018 | pgoyette | Sync with head 
 | 
| 1.20.2.5 | 30-Sep-2018 | pgoyette | Ssync with HEAD 
 | 
| 1.20.2.4 | 06-Sep-2018 | pgoyette | Sync with HEAD 
 Resolve a couple of conflicts (result of the uimin/uimax changes)
 
 | 
| 1.20.2.3 | 28-Jul-2018 | pgoyette | Sync with HEAD 
 | 
| 1.20.2.2 | 25-Jun-2018 | pgoyette | Sync with HEAD 
 | 
| 1.20.2.1 | 07-Apr-2018 | pgoyette | Sync with HEAD.  77 conflicts resolved - all of them $NetBSD$ 
 | 
| 1.24.2.3 | 13-Apr-2020 | martin | Mostly merge changes from HEAD upto 20200411 
 | 
| 1.24.2.2 | 08-Apr-2020 | martin | Merge changes from current as of 20200406 
 | 
| 1.24.2.1 | 10-Jun-2019 | christos | Sync with HEAD 
 | 
| 1.64.2.1 | 12-Feb-2020 | martin | Pull up following revision(s) (requested by riastradh in ticket #705): 
 sys/arch/aarch64/aarch64/aarch64_machdep.c: revision 1.35
 sys/stand/efiboot/efifdt.c: revision 1.20
 sys/stand/efiboot/efifdt.h: revision 1.7
 sys/arch/aarch64/include/machdep.h: revision 1.9
 sys/stand/efiboot/efiboot.h: revision 1.11
 sys/arch/arm/arm32/arm32_machdep.c: revision 1.129
 sys/arch/arm/include/arm32/machdep.h: revision 1.30
 sys/stand/efiboot/exec.c: revision 1.12
 sys/arch/evbarm/fdt/fdt_machdep.c: revision 1.65
 sys/stand/efiboot/version: revision 1.14
 sys/stand/efiboot/boot.c: revision 1.19
 
 New function cpu_startup_hook on arm.
 
 Called at end of cpu_startup.  Can be defined in, e.g., evbarm to do
 additional stuff after cpu_startup.  Defined as a weak alias to a
 function that does nothing, so optional.
 ok jmcneill
 
 Implement rndseed support in efiboot and fdt arm.
 
 The EFI environment variable `rndseed' specifies the path to the
 random seed.  It is loaded only for fdt platforms at the moment.
 Since the rndseed (an rndsave_t object as defined in <sys/rndio.h>)
 is 536 bytes long (for hysterical raisins), and to avoid having to
 erase parts of the fdt tree, we load it into a physical page whose
 address is passed in the fdt tree, rather than passing the content of
 the file as an fdt node directly; the kernel then reserves the page
 from uvm, and maps it into kva to call rnd_seed.
 
 For now, the only kernel that does use efiboot with fdt is evbarm,
 which knows to handle the rndseed.  Any new kernels that use efiboot
 with fdt must do the same; otherwise uvm may hand out the page with
 the secret key on it for a normal page allocation in the kernel --
 which should be OK if there are no kernel memory disclosure bugs, but
 would lead to worse consequences than simply loading the seed late in
 userland with /etc/rc.d/random_seed otherwise.
 
 ok jmcneill
 
 | 
| 1.65.2.2 | 29-Feb-2020 | ad | Sync with head. 
 | 
| 1.65.2.1 | 25-Jan-2020 | ad | Sync with head. 
 | 
| 1.77.2.3 | 03-Apr-2021 | thorpej | Sync with HEAD. 
 | 
| 1.77.2.2 | 03-Jan-2021 | thorpej | Sync w/ HEAD. 
 | 
| 1.77.2.1 | 14-Dec-2020 | thorpej | Sync w/ HEAD. 
 | 
| 1.99.2.1 | 20-Oct-2023 | martin | Pull up following revision(s) (requested by mrg in ticket #431): 
 sys/arch/evbarm/evbarm/autoconf.c: revision 1.24
 sys/arch/evbarm/include/types.h: revision 1.16
 sys/arch/evbarm/fdt/fdt_machdep.c: revision 1.100
 sys/arch/evbarm/fdt/fdt_machdep.c: revision 1.101
 
 fix root detection on evbarm when raid is involved
 
 there are several problems solved in this change:
 - - lots of work was re-done when we already have determined the
 device booted from, so several new early returns introduced
 if booted_device has been set
 - - due to the lack of cpu_bootconf(), raidframe softroot would
 override "root=xxx" on the boot command line (note that
 platforms that use eg, device_register() to detect the boot
 device are not affected by this issue as they find the
 boot device much earlier.)
 - - in the new cpu_bootconf(), switch the order of the platform
 boot-config with the set_root_device() call.  this avoids a
 problem where "root=xxx" is checked after automated methods,
 and is thus ignored.
 - - in fdt_detect_root_device(), remove the code to add "root=xxx""
 string to the boot_args[] that would be later parsed by the
 set_root_device() call, and simply set booted_device and, for
 mbr installs, booted_partition directly.  also, for any
 successful call, perform an early return.
 - - define __HAVE_CPU_BOOTCONF so early boot calls cpu_bootconf().
 
 tested on:
 - - rockpro64 booting from emmc, sata (big, and little endian)
 - - rockpro64 loading kernel from msdos partition
 - - rockpro64 booting from network (fails to auto-detect, with or
 without this change)
 - - quartz64 booting from nvme
 - - lx2k booting from nvme
 
 Locate wedges as boot device and also match a partition GUID.
 
 | 
| 1.107.2.2 | 02-Aug-2025 | perseant | Sync with HEAD 
 | 
| 1.107.2.1 | 01-Jul-2024 | perseant | Sync with HEAD. 
 | 
| 1.5 | 12-Dec-2020 | skrll | Move evbarm/fdt/fdt_memory.[ch] to sys/dev/fdt and simplify the api and some operations.  This allows other architectures to use it.
 
 | 
| 1.4 | 27-Jan-2020 | jmcneill | branches:  1.4.6; Save 400KB of RAM by fixing a really dumb bug in sizing of the fdt memory
 pool.
 
 | 
| 1.3 | 01-Nov-2018 | jmcneill | branches:  1.3.2;  1.3.6;  1.3.8;  1.3.10; Fix previous
 
 | 
| 1.2 | 01-Nov-2018 | jmcneill | Fix partial overlap logic. PR# port-evbarm/53693 
 | 
| 1.1 | 30-Oct-2018 | jmcneill | Replace extent(9) with our own code to deal with adding and reserving memory ranges.
 
 | 
| 1.3.10.1 | 29-Feb-2020 | ad | Sync with head. 
 | 
| 1.3.8.1 | 27-Jan-2020 | martin | Pull up following revision(s) (requested by jmcneill in ticket #659): 
 sys/arch/evbarm/fdt/fdt_memory.c: revision 1.4
 
 Save 400KB of RAM by fixing a really dumb bug in sizing of the fdt memory
 pool.
 
 | 
| 1.3.6.3 | 08-Apr-2020 | martin | Merge changes from current as of 20200406 
 | 
| 1.3.6.2 | 10-Jun-2019 | christos | Sync with HEAD 
 | 
| 1.3.6.1 | 01-Nov-2018 | christos | file fdt_memory.c was added on branch phil-wifi on 2019-06-10 22:06:06 +0000 
 | 
| 1.3.2.2 | 26-Nov-2018 | pgoyette | Sync with HEAD, resolve a couple of conflicts 
 | 
| 1.3.2.1 | 01-Nov-2018 | pgoyette | file fdt_memory.c was added on branch pgoyette-compat on 2018-11-26 01:52:21 +0000 
 | 
| 1.4.6.1 | 14-Dec-2020 | thorpej | Sync w/ HEAD. 
 | 
| 1.2 | 12-Dec-2020 | skrll | Move evbarm/fdt/fdt_memory.[ch] to sys/dev/fdt and simplify the api and some operations.  This allows other architectures to use it.
 
 | 
| 1.1 | 30-Oct-2018 | jmcneill | branches:  1.1.2;  1.1.6;  1.1.16; Replace extent(9) with our own code to deal with adding and reserving
 memory ranges.
 
 | 
| 1.1.16.1 | 14-Dec-2020 | thorpej | Sync w/ HEAD. 
 | 
| 1.1.6.2 | 10-Jun-2019 | christos | Sync with HEAD 
 | 
| 1.1.6.1 | 30-Oct-2018 | christos | file fdt_memory.h was added on branch phil-wifi on 2019-06-10 22:06:06 +0000 
 | 
| 1.1.2.2 | 26-Nov-2018 | pgoyette | Sync with HEAD, resolve a couple of conflicts 
 | 
| 1.1.2.1 | 30-Oct-2018 | pgoyette | file fdt_memory.h was added on branch pgoyette-compat on 2018-11-26 01:52:21 +0000 
 | 
| 1.5 | 14-Sep-2018 | skrll | Move the aarch64 start stub from sys/arch/evbarm to sys/arch/aarch64. 
 Delete the unused/empty evbarm/fdt/genassym.cf while I'm here.
 
 | 
| 1.4 | 10-Sep-2018 | skrll | Don't use printx before setting up stack. 
 | 
| 1.3 | 18-Jul-2018 | ryo | remove ifdef __clang. make position independent, and cleanup.
 
 | 
| 1.2 | 17-Jul-2018 | christos | XXX: make this assemble with gas, but I should remove the ifdefs... 
 | 
| 1.1 | 01-Apr-2018 | ryo | branches:  1.1.2;  1.1.4; Add initial support for ARMv8 (AARCH64) (by nisimura@ and ryo@)
 
 - sys/arch/evbarm64 is gone and integrated into sys/arch/evbarm. (by skrll@)
 - add support fdt. evbarm/conf/GENERIC64 fdt (bcm2837,sunxi,tegra) based generic 64bit kernel config. (by skrll@, jmcneill@)
 
 | 
| 1.1.4.1 | 10-Jun-2019 | christos | Sync with HEAD 
 | 
| 1.1.2.4 | 30-Sep-2018 | pgoyette | Ssync with HEAD 
 | 
| 1.1.2.3 | 28-Jul-2018 | pgoyette | Sync with HEAD 
 | 
| 1.1.2.2 | 07-Apr-2018 | pgoyette | Sync with HEAD.  77 conflicts resolved - all of them $NetBSD$ 
 | 
| 1.1.2.1 | 01-Apr-2018 | pgoyette | file fdt_start.S was added on branch pgoyette-compat on 2018-04-07 04:12:12 +0000 
 | 
| 1.2 | 14-Sep-2018 | skrll | Move the aarch64 start stub from sys/arch/evbarm to sys/arch/aarch64. 
 Delete the unused/empty evbarm/fdt/genassym.cf while I'm here.
 
 | 
| 1.1 | 01-Apr-2018 | ryo | branches:  1.1.2;  1.1.4; fix build error
 
 | 
| 1.1.4.1 | 10-Jun-2019 | christos | Sync with HEAD 
 | 
| 1.1.2.3 | 30-Sep-2018 | pgoyette | Ssync with HEAD 
 | 
| 1.1.2.2 | 07-Apr-2018 | pgoyette | Sync with HEAD.  77 conflicts resolved - all of them $NetBSD$ 
 | 
| 1.1.2.1 | 01-Apr-2018 | pgoyette | file genassym.cf was added on branch pgoyette-compat on 2018-04-07 04:12:12 +0000 
 | 
| 1.1 | 03-Aug-2018 | skrll | branches:  1.1.2;  1.1.6; Provide and use a evbarm/fdt/machdep.h
 
 | 
| 1.1.6.2 | 10-Jun-2019 | christos | Sync with HEAD 
 | 
| 1.1.6.1 | 03-Aug-2018 | christos | file machdep.h was added on branch phil-wifi on 2019-06-10 22:06:06 +0000 
 | 
| 1.1.2.2 | 06-Sep-2018 | pgoyette | Sync with HEAD 
 Resolve a couple of conflicts (result of the uimin/uimax changes)
 
 | 
| 1.1.2.1 | 03-Aug-2018 | pgoyette | file machdep.h was added on branch pgoyette-compat on 2018-09-06 06:55:30 +0000 
 | 
| 1.11 | 16-Apr-2023 | skrll | Rename VM_KERNEL_IO_ADDRESS to VM_KERNEL_IO_BASE to match RISC-V 
 It's less letters, matches other similar variables and will help with
 sharing code between the two architectures.
 
 NFCI.
 
 | 
| 1.10 | 12-Dec-2020 | skrll | Move evbarm/fdt/fdt_memory.[ch] to sys/dev/fdt and simplify the api and some operations.  This allows other architectures to use it.
 
 | 
| 1.9 | 19-Sep-2020 | skrll | branches:  1.9.2; Define VM_KERNEL_VM_{BASE,SIZE} for aarch64 and remove an #ifdef in
 fdt/platform.h
 
 NFCI
 
 | 
| 1.8 | 10-Jul-2020 | skrll | Simplify 
 | 
| 1.7 | 10-Jul-2020 | skrll | Do previous differently for now 
 | 
| 1.6 | 08-Jul-2020 | skrll | Provide some KVA layout #defines in arm32/vmparam.h and simplify fdt/platform.h as a nice side effect
 
 | 
| 1.5 | 21-Jan-2019 | skrll | Make more KVA available 
 | 
| 1.4 | 01-Apr-2018 | ryo | branches:  1.4.2; Add initial support for ARMv8 (AARCH64) (by nisimura@ and ryo@)
 
 - sys/arch/evbarm64 is gone and integrated into sys/arch/evbarm. (by skrll@)
 - add support fdt. evbarm/conf/GENERIC64 fdt (bcm2837,sunxi,tegra) based generic 64bit kernel config. (by skrll@, jmcneill@)
 
 | 
| 1.3 | 14-Mar-2018 | ryo | fix compile error on evbarm/EXYNOS. platform.h may be included from *.S 
 | 
| 1.2 | 10-Dec-2017 | skrll | branches:  1.2.2; FDTise RapberryPI support. Thanks for jmcneill for a lot of help with this.
 
 The kernel image that the RPI firmware boots is now netbsd.img in the
 kernel build directory.
 
 XXX fdtbus_get_reg needs reworking
 
 | 
| 1.1 | 30-May-2017 | jmcneill | branches:  1.1.6;  1.1.10; Rename tegra_machdep.c to fdt_machdep.c now that it no longer has any
 Tegra-specific code in it.
 
 | 
| 1.1.10.2 | 03-Dec-2017 | jdolecek | update from HEAD 
 | 
| 1.1.10.1 | 30-May-2017 | jdolecek | file platform.h was added on branch tls-maxphys on 2017-12-03 11:36:04 +0000 
 | 
| 1.1.6.2 | 28-Aug-2017 | skrll | Sync with HEAD 
 | 
| 1.1.6.1 | 30-May-2017 | skrll | file platform.h was added on branch nick-nhusb on 2017-08-28 17:51:34 +0000 
 | 
| 1.2.2.3 | 26-Jan-2019 | pgoyette | Sync with HEAD 
 | 
| 1.2.2.2 | 07-Apr-2018 | pgoyette | Sync with HEAD.  77 conflicts resolved - all of them $NetBSD$ 
 | 
| 1.2.2.1 | 15-Mar-2018 | pgoyette | Synch with HEAD 
 | 
| 1.4.2.1 | 10-Jun-2019 | christos | Sync with HEAD 
 | 
| 1.9.2.1 | 14-Dec-2020 | thorpej | Sync w/ HEAD. 
 |