History log of /netbsd-current/sys/arch/arm/vexpress/vexpress_platform.c
Revision (<<< Hide revision tags) (Show revision tags >>>) Date Author Comments
# 1.23 07-Apr-2023 skrll

Rename ARM_PLATFORM to FDT_PLATFORM and make it available outside arm.


Revision tags: netbsd-10-base bouyer-sunxi-drm-base thorpej-i2c-spi-conf2-base thorpej-futex2-base thorpej-cfargs2-base cjep_sun2x-base1 cjep_sun2x-base cjep_staticlib_x-base1 cjep_staticlib_x-base thorpej-i2c-spi-conf-base
# 1.22 24-Apr-2021 thorpej

Merge thorpej-cfargs branch:

Simplify and make extensible the config_search() / config_found() /
config_attach() interfaces: rather than having different variants for
which arguments you want pass along, just have a single call that
takes a variadic list of tag-value arguments.

Adjust all call sites:
- Simplify wherever possible; don't pass along arguments that aren't
actually needed.
- Don't be explicit about what interface attribute is attaching if
the device only has one. (More simplification.)
- Add a config_probe() function to be used in indirect configuiration
situations, making is visibly easier to see when indirect config is
in play, and allowing for future change in semantics. (As of now,
this is just a wrapper around config_match(), but that is an
implementation detail.)

Remove unnecessary or redundant interface attributes where they're not
needed.

There are currently 5 "cfargs" defined:
- CFARG_SUBMATCH (submatch function for direct config)
- CFARG_SEARCH (search function for indirect config)
- CFARG_IATTR (interface attribte)
- CFARG_LOCATORS (locators array)
- CFARG_DEVHANDLE (devhandle_t - wraps OFW, ACPI, etc. handles)

...and a sentinel value CFARG_EOL.

Add some extra sanity checking to ensure that interface attributes
aren't ambiguous.

Use CFARG_DEVHANDLE in MI FDT, OFW, and ACPI code, and macppc and shark
ports to associate those device handles with device_t instance. This
will trickle trough to more places over time (need back-end for pre-OFW
Sun OBP; any others?).


Revision tags: thorpej-cfargs-base thorpej-futex-base
# 1.21 05-Feb-2021 skrll

branches: 1.21.2;
Fix build


# 1.20 04-Feb-2021 thorpej

Call acpi_device_register() / fdtbus_device_register() as approrpriate.


# 1.19 30-Oct-2020 skrll

branches: 1.19.2;
Retire arm_[di]sb in favour of the isb() and dsb(sy) macro invocations.


# 1.18 28-Sep-2020 jmcneill

Get rid of a4x bus_space tag from fdtbus_attach_args. The only consumer
of this was various com(4) glue so modify all of that to use the new
com_init_regs_stride instead.


# 1.17 10-Jul-2020 skrll

Add support for KASAN on ARMv[67]

Thanks to maxv for many pointers and reviews.


Revision tags: bouyer-xenpvh-base2 phil-wifi-20200421 bouyer-xenpvh-base1 phil-wifi-20200411 bouyer-xenpvh-base is-mlppp-base phil-wifi-20200406 ad-namecache-base3
# 1.16 15-Feb-2020 skrll

Various updates and improvements to cpu start up on arm/aarch64

- start sharing more code around the AP startup messaging.
- call arm_cpu_topology_set early so that ci_core_id is available for
drivers, e.g. bcm2835_intr.c
- both arm and aarch64 now have
- a static cpu_info_store array
- the same arm_cpu_{hatched,mbox}


Revision tags: netbsd-9-3-RELEASE netbsd-9-2-RELEASE netbsd-9-1-RELEASE netbsd-9-0-RELEASE netbsd-9-0-RC2 ad-namecache-base2 ad-namecache-base1 ad-namecache-base netbsd-9-0-RC1 phil-wifi-20191119 netbsd-9-base
# 1.15 23-Jul-2019 jmcneill

branches: 1.15.4;
No need for console=fb handling with WSDISPLAY_MULTICONS


Revision tags: phil-wifi-20190609 isaki-audio2-base
# 1.14 31-Jan-2019 skrll

Fix build


# 1.13 31-Jan-2019 skrll

Change ap_mpstart to return non-zero value if any/all APs don't start.


Revision tags: pgoyette-compat-20190127 pgoyette-compat-20190118 pgoyette-compat-1226 pgoyette-compat-1126
# 1.12 30-Oct-2018 skrll

Retire fdt_putchar and ap_early_put_char in favour of uartputc.


Revision tags: pgoyette-compat-1020
# 1.11 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


Revision tags: pgoyette-compat-0930
# 1.10 21-Sep-2018 skrll

Centralise defparam CONSADDR, CONSPEED, CONMODE and CONADDR into
opt_console.h and adjust.


Revision tags: pgoyette-compat-0906
# 1.9 05-Aug-2018 skrll

Add prefixes to struct arm_platform{,_info} members.

No functional change.


Revision tags: pgoyette-compat-0728 phil-wifi-base pgoyette-compat-0625
# 1.8 11-Jun-2018 jakllsch

branches: 1.8.2;
fill in vexpress_platform_early_putchar(); make comment about CONSADDR


Revision tags: pgoyette-compat-0521 pgoyette-compat-0502 pgoyette-compat-0422 pgoyette-compat-0415 pgoyette-compat-0407 pgoyette-compat-0330 pgoyette-compat-0322
# 1.7 17-Mar-2018 ryo

move from sys/arch/arm/arm32/armv7_generic_dma.c to sys/arch/arm/arm/arm_generic_dma.c,
and change variable name from armv7_generic_dma_tag to arm_generic_dma_tag

no functional change. (preliminary changes for merging aarch64)


Revision tags: pgoyette-compat-0315 pgoyette-compat-base
# 1.6 19-Dec-2017 skrll

branches: 1.6.2;
Trailing whitespace


Revision tags: tls-maxphys-base-20171202
# 1.5 18-Nov-2017 jmcneill

branches: 1.5.2;
Fix clcd node path for newer dtb


# 1.4 22-Oct-2017 skrll

Centralise defines for DEVMAP_{ALIGN,SIZE,ENTRY,ENTRY_END}


Revision tags: nick-nhusb-base-20170825 perseant-stdc-iso10646-base
# 1.3 06-Jun-2017 jmcneill

branches: 1.3.4;
Allow 'console=fb' to act as a shortcut on vexpress for
'stdout-path=/smb@08000000/motherboard/iofpga@3,00000000/clcd@1f0000'


Revision tags: netbsd-8-base
# 1.2 02-Jun-2017 jmcneill

branches: 1.2.2;
Add SMP support to VEXPRESS_A15 kernel. Enable with '-smp 2' on qemu
command line.


# 1.1 02-Jun-2017 jmcneill

Switch VEXPRESS_A15 kernel to use FDT and GENERIC.common. The dtb for this
kernel can be found in the sysutils/dtb-arm-vexpress package as
vexpress-v2p-ca15-tc1.dtb


# 1.22 24-Apr-2021 thorpej

Merge thorpej-cfargs branch:

Simplify and make extensible the config_search() / config_found() /
config_attach() interfaces: rather than having different variants for
which arguments you want pass along, just have a single call that
takes a variadic list of tag-value arguments.

Adjust all call sites:
- Simplify wherever possible; don't pass along arguments that aren't
actually needed.
- Don't be explicit about what interface attribute is attaching if
the device only has one. (More simplification.)
- Add a config_probe() function to be used in indirect configuiration
situations, making is visibly easier to see when indirect config is
in play, and allowing for future change in semantics. (As of now,
this is just a wrapper around config_match(), but that is an
implementation detail.)

Remove unnecessary or redundant interface attributes where they're not
needed.

There are currently 5 "cfargs" defined:
- CFARG_SUBMATCH (submatch function for direct config)
- CFARG_SEARCH (search function for indirect config)
- CFARG_IATTR (interface attribte)
- CFARG_LOCATORS (locators array)
- CFARG_DEVHANDLE (devhandle_t - wraps OFW, ACPI, etc. handles)

...and a sentinel value CFARG_EOL.

Add some extra sanity checking to ensure that interface attributes
aren't ambiguous.

Use CFARG_DEVHANDLE in MI FDT, OFW, and ACPI code, and macppc and shark
ports to associate those device handles with device_t instance. This
will trickle trough to more places over time (need back-end for pre-OFW
Sun OBP; any others?).


Revision tags: thorpej-cfargs-base thorpej-futex-base
# 1.21 05-Feb-2021 skrll

branches: 1.21.2;
Fix build


# 1.20 04-Feb-2021 thorpej

Call acpi_device_register() / fdtbus_device_register() as approrpriate.


# 1.19 30-Oct-2020 skrll

branches: 1.19.2;
Retire arm_[di]sb in favour of the isb() and dsb(sy) macro invocations.


# 1.18 28-Sep-2020 jmcneill

Get rid of a4x bus_space tag from fdtbus_attach_args. The only consumer
of this was various com(4) glue so modify all of that to use the new
com_init_regs_stride instead.


# 1.17 10-Jul-2020 skrll

Add support for KASAN on ARMv[67]

Thanks to maxv for many pointers and reviews.


Revision tags: bouyer-xenpvh-base2 phil-wifi-20200421 bouyer-xenpvh-base1 phil-wifi-20200411 bouyer-xenpvh-base is-mlppp-base phil-wifi-20200406 ad-namecache-base3
# 1.16 15-Feb-2020 skrll

Various updates and improvements to cpu start up on arm/aarch64

- start sharing more code around the AP startup messaging.
- call arm_cpu_topology_set early so that ci_core_id is available for
drivers, e.g. bcm2835_intr.c
- both arm and aarch64 now have
- a static cpu_info_store array
- the same arm_cpu_{hatched,mbox}


Revision tags: netbsd-9-1-RELEASE netbsd-9-0-RELEASE netbsd-9-0-RC2 ad-namecache-base2 ad-namecache-base1 ad-namecache-base netbsd-9-0-RC1 phil-wifi-20191119 netbsd-9-base
# 1.15 23-Jul-2019 jmcneill

branches: 1.15.4;
No need for console=fb handling with WSDISPLAY_MULTICONS


Revision tags: phil-wifi-20190609 isaki-audio2-base
# 1.14 31-Jan-2019 skrll

Fix build


# 1.13 31-Jan-2019 skrll

Change ap_mpstart to return non-zero value if any/all APs don't start.


Revision tags: pgoyette-compat-20190127 pgoyette-compat-20190118 pgoyette-compat-1226 pgoyette-compat-1126
# 1.12 30-Oct-2018 skrll

Retire fdt_putchar and ap_early_put_char in favour of uartputc.


Revision tags: pgoyette-compat-1020
# 1.11 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


Revision tags: pgoyette-compat-0930
# 1.10 21-Sep-2018 skrll

Centralise defparam CONSADDR, CONSPEED, CONMODE and CONADDR into
opt_console.h and adjust.


Revision tags: pgoyette-compat-0906
# 1.9 05-Aug-2018 skrll

Add prefixes to struct arm_platform{,_info} members.

No functional change.


Revision tags: pgoyette-compat-0728 phil-wifi-base pgoyette-compat-0625
# 1.8 11-Jun-2018 jakllsch

branches: 1.8.2;
fill in vexpress_platform_early_putchar(); make comment about CONSADDR


Revision tags: pgoyette-compat-0521 pgoyette-compat-0502 pgoyette-compat-0422 pgoyette-compat-0415 pgoyette-compat-0407 pgoyette-compat-0330 pgoyette-compat-0322
# 1.7 17-Mar-2018 ryo

move from sys/arch/arm/arm32/armv7_generic_dma.c to sys/arch/arm/arm/arm_generic_dma.c,
and change variable name from armv7_generic_dma_tag to arm_generic_dma_tag

no functional change. (preliminary changes for merging aarch64)


Revision tags: pgoyette-compat-0315 pgoyette-compat-base
# 1.6 19-Dec-2017 skrll

branches: 1.6.2;
Trailing whitespace


Revision tags: tls-maxphys-base-20171202
# 1.5 18-Nov-2017 jmcneill

branches: 1.5.2;
Fix clcd node path for newer dtb


# 1.4 22-Oct-2017 skrll

Centralise defines for DEVMAP_{ALIGN,SIZE,ENTRY,ENTRY_END}


Revision tags: nick-nhusb-base-20170825 perseant-stdc-iso10646-base
# 1.3 06-Jun-2017 jmcneill

branches: 1.3.4;
Allow 'console=fb' to act as a shortcut on vexpress for
'stdout-path=/smb@08000000/motherboard/iofpga@3,00000000/clcd@1f0000'


Revision tags: netbsd-8-base
# 1.2 02-Jun-2017 jmcneill

branches: 1.2.2;
Add SMP support to VEXPRESS_A15 kernel. Enable with '-smp 2' on qemu
command line.


# 1.1 02-Jun-2017 jmcneill

Switch VEXPRESS_A15 kernel to use FDT and GENERIC.common. The dtb for this
kernel can be found in the sysutils/dtb-arm-vexpress package as
vexpress-v2p-ca15-tc1.dtb


# 1.21 05-Feb-2021 skrll

Fix build


# 1.20 04-Feb-2021 thorpej

Call acpi_device_register() / fdtbus_device_register() as approrpriate.


Revision tags: thorpej-futex-base
# 1.19 30-Oct-2020 skrll

Retire arm_[di]sb in favour of the isb() and dsb(sy) macro invocations.


# 1.18 28-Sep-2020 jmcneill

Get rid of a4x bus_space tag from fdtbus_attach_args. The only consumer
of this was various com(4) glue so modify all of that to use the new
com_init_regs_stride instead.


# 1.17 10-Jul-2020 skrll

Add support for KASAN on ARMv[67]

Thanks to maxv for many pointers and reviews.


Revision tags: bouyer-xenpvh-base2 phil-wifi-20200421 bouyer-xenpvh-base1 phil-wifi-20200411 bouyer-xenpvh-base is-mlppp-base phil-wifi-20200406 ad-namecache-base3
# 1.16 15-Feb-2020 skrll

Various updates and improvements to cpu start up on arm/aarch64

- start sharing more code around the AP startup messaging.
- call arm_cpu_topology_set early so that ci_core_id is available for
drivers, e.g. bcm2835_intr.c
- both arm and aarch64 now have
- a static cpu_info_store array
- the same arm_cpu_{hatched,mbox}


Revision tags: netbsd-9-1-RELEASE netbsd-9-0-RELEASE netbsd-9-0-RC2 ad-namecache-base2 ad-namecache-base1 ad-namecache-base netbsd-9-0-RC1 phil-wifi-20191119 netbsd-9-base
# 1.15 23-Jul-2019 jmcneill

branches: 1.15.4;
No need for console=fb handling with WSDISPLAY_MULTICONS


Revision tags: phil-wifi-20190609 isaki-audio2-base
# 1.14 31-Jan-2019 skrll

Fix build


# 1.13 31-Jan-2019 skrll

Change ap_mpstart to return non-zero value if any/all APs don't start.


Revision tags: pgoyette-compat-20190127 pgoyette-compat-20190118 pgoyette-compat-1226 pgoyette-compat-1126
# 1.12 30-Oct-2018 skrll

Retire fdt_putchar and ap_early_put_char in favour of uartputc.


Revision tags: pgoyette-compat-1020
# 1.11 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


Revision tags: pgoyette-compat-0930
# 1.10 21-Sep-2018 skrll

Centralise defparam CONSADDR, CONSPEED, CONMODE and CONADDR into
opt_console.h and adjust.


Revision tags: pgoyette-compat-0906
# 1.9 05-Aug-2018 skrll

Add prefixes to struct arm_platform{,_info} members.

No functional change.


Revision tags: pgoyette-compat-0728 phil-wifi-base pgoyette-compat-0625
# 1.8 11-Jun-2018 jakllsch

branches: 1.8.2;
fill in vexpress_platform_early_putchar(); make comment about CONSADDR


Revision tags: pgoyette-compat-0521 pgoyette-compat-0502 pgoyette-compat-0422 pgoyette-compat-0415 pgoyette-compat-0407 pgoyette-compat-0330 pgoyette-compat-0322
# 1.7 17-Mar-2018 ryo

move from sys/arch/arm/arm32/armv7_generic_dma.c to sys/arch/arm/arm/arm_generic_dma.c,
and change variable name from armv7_generic_dma_tag to arm_generic_dma_tag

no functional change. (preliminary changes for merging aarch64)


Revision tags: pgoyette-compat-0315 pgoyette-compat-base
# 1.6 19-Dec-2017 skrll

branches: 1.6.2;
Trailing whitespace


Revision tags: tls-maxphys-base-20171202
# 1.5 18-Nov-2017 jmcneill

branches: 1.5.2;
Fix clcd node path for newer dtb


# 1.4 22-Oct-2017 skrll

Centralise defines for DEVMAP_{ALIGN,SIZE,ENTRY,ENTRY_END}


Revision tags: nick-nhusb-base-20170825 perseant-stdc-iso10646-base
# 1.3 06-Jun-2017 jmcneill

branches: 1.3.4;
Allow 'console=fb' to act as a shortcut on vexpress for
'stdout-path=/smb@08000000/motherboard/iofpga@3,00000000/clcd@1f0000'


Revision tags: netbsd-8-base
# 1.2 02-Jun-2017 jmcneill

branches: 1.2.2;
Add SMP support to VEXPRESS_A15 kernel. Enable with '-smp 2' on qemu
command line.


# 1.1 02-Jun-2017 jmcneill

Switch VEXPRESS_A15 kernel to use FDT and GENERIC.common. The dtb for this
kernel can be found in the sysutils/dtb-arm-vexpress package as
vexpress-v2p-ca15-tc1.dtb


Revision tags: thorpej-futex-base
# 1.19 30-Oct-2020 skrll

Retire arm_[di]sb in favour of the isb() and dsb(sy) macro invocations.


# 1.18 28-Sep-2020 jmcneill

Get rid of a4x bus_space tag from fdtbus_attach_args. The only consumer
of this was various com(4) glue so modify all of that to use the new
com_init_regs_stride instead.


# 1.17 10-Jul-2020 skrll

Add support for KASAN on ARMv[67]

Thanks to maxv for many pointers and reviews.


Revision tags: bouyer-xenpvh-base2 phil-wifi-20200421 bouyer-xenpvh-base1 phil-wifi-20200411 bouyer-xenpvh-base is-mlppp-base phil-wifi-20200406 ad-namecache-base3
# 1.16 15-Feb-2020 skrll

Various updates and improvements to cpu start up on arm/aarch64

- start sharing more code around the AP startup messaging.
- call arm_cpu_topology_set early so that ci_core_id is available for
drivers, e.g. bcm2835_intr.c
- both arm and aarch64 now have
- a static cpu_info_store array
- the same arm_cpu_{hatched,mbox}


Revision tags: netbsd-9-1-RELEASE netbsd-9-0-RELEASE netbsd-9-0-RC2 ad-namecache-base2 ad-namecache-base1 ad-namecache-base netbsd-9-0-RC1 phil-wifi-20191119 netbsd-9-base
# 1.15 23-Jul-2019 jmcneill

branches: 1.15.4;
No need for console=fb handling with WSDISPLAY_MULTICONS


Revision tags: phil-wifi-20190609 isaki-audio2-base
# 1.14 31-Jan-2019 skrll

Fix build


# 1.13 31-Jan-2019 skrll

Change ap_mpstart to return non-zero value if any/all APs don't start.


Revision tags: pgoyette-compat-20190127 pgoyette-compat-20190118 pgoyette-compat-1226 pgoyette-compat-1126
# 1.12 30-Oct-2018 skrll

Retire fdt_putchar and ap_early_put_char in favour of uartputc.


Revision tags: pgoyette-compat-1020
# 1.11 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


Revision tags: pgoyette-compat-0930
# 1.10 21-Sep-2018 skrll

Centralise defparam CONSADDR, CONSPEED, CONMODE and CONADDR into
opt_console.h and adjust.


Revision tags: pgoyette-compat-0906
# 1.9 05-Aug-2018 skrll

Add prefixes to struct arm_platform{,_info} members.

No functional change.


Revision tags: pgoyette-compat-0728 phil-wifi-base pgoyette-compat-0625
# 1.8 11-Jun-2018 jakllsch

branches: 1.8.2;
fill in vexpress_platform_early_putchar(); make comment about CONSADDR


Revision tags: pgoyette-compat-0521 pgoyette-compat-0502 pgoyette-compat-0422 pgoyette-compat-0415 pgoyette-compat-0407 pgoyette-compat-0330 pgoyette-compat-0322
# 1.7 17-Mar-2018 ryo

move from sys/arch/arm/arm32/armv7_generic_dma.c to sys/arch/arm/arm/arm_generic_dma.c,
and change variable name from armv7_generic_dma_tag to arm_generic_dma_tag

no functional change. (preliminary changes for merging aarch64)


Revision tags: pgoyette-compat-0315 pgoyette-compat-base
# 1.6 19-Dec-2017 skrll

branches: 1.6.2;
Trailing whitespace


Revision tags: tls-maxphys-base-20171202
# 1.5 18-Nov-2017 jmcneill

branches: 1.5.2;
Fix clcd node path for newer dtb


# 1.4 22-Oct-2017 skrll

Centralise defines for DEVMAP_{ALIGN,SIZE,ENTRY,ENTRY_END}


Revision tags: nick-nhusb-base-20170825 perseant-stdc-iso10646-base
# 1.3 06-Jun-2017 jmcneill

branches: 1.3.4;
Allow 'console=fb' to act as a shortcut on vexpress for
'stdout-path=/smb@08000000/motherboard/iofpga@3,00000000/clcd@1f0000'


Revision tags: netbsd-8-base
# 1.2 02-Jun-2017 jmcneill

branches: 1.2.2;
Add SMP support to VEXPRESS_A15 kernel. Enable with '-smp 2' on qemu
command line.


# 1.1 02-Jun-2017 jmcneill

Switch VEXPRESS_A15 kernel to use FDT and GENERIC.common. The dtb for this
kernel can be found in the sysutils/dtb-arm-vexpress package as
vexpress-v2p-ca15-tc1.dtb


# 1.18 28-Sep-2020 jmcneill

Get rid of a4x bus_space tag from fdtbus_attach_args. The only consumer
of this was various com(4) glue so modify all of that to use the new
com_init_regs_stride instead.


# 1.17 10-Jul-2020 skrll

Add support for KASAN on ARMv[67]

Thanks to maxv for many pointers and reviews.


Revision tags: bouyer-xenpvh-base2 phil-wifi-20200421 bouyer-xenpvh-base1 phil-wifi-20200411 bouyer-xenpvh-base is-mlppp-base phil-wifi-20200406 ad-namecache-base3
# 1.16 15-Feb-2020 skrll

Various updates and improvements to cpu start up on arm/aarch64

- start sharing more code around the AP startup messaging.
- call arm_cpu_topology_set early so that ci_core_id is available for
drivers, e.g. bcm2835_intr.c
- both arm and aarch64 now have
- a static cpu_info_store array
- the same arm_cpu_{hatched,mbox}


Revision tags: netbsd-9-0-RELEASE netbsd-9-0-RC2 ad-namecache-base2 ad-namecache-base1 ad-namecache-base netbsd-9-0-RC1 phil-wifi-20191119 netbsd-9-base
# 1.15 23-Jul-2019 jmcneill

branches: 1.15.4;
No need for console=fb handling with WSDISPLAY_MULTICONS


Revision tags: phil-wifi-20190609 isaki-audio2-base
# 1.14 31-Jan-2019 skrll

Fix build


# 1.13 31-Jan-2019 skrll

Change ap_mpstart to return non-zero value if any/all APs don't start.


Revision tags: pgoyette-compat-20190127 pgoyette-compat-20190118 pgoyette-compat-1226 pgoyette-compat-1126
# 1.12 30-Oct-2018 skrll

Retire fdt_putchar and ap_early_put_char in favour of uartputc.


Revision tags: pgoyette-compat-1020
# 1.11 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


Revision tags: pgoyette-compat-0930
# 1.10 21-Sep-2018 skrll

Centralise defparam CONSADDR, CONSPEED, CONMODE and CONADDR into
opt_console.h and adjust.


Revision tags: pgoyette-compat-0906
# 1.9 05-Aug-2018 skrll

Add prefixes to struct arm_platform{,_info} members.

No functional change.


Revision tags: pgoyette-compat-0728 phil-wifi-base pgoyette-compat-0625
# 1.8 11-Jun-2018 jakllsch

branches: 1.8.2;
fill in vexpress_platform_early_putchar(); make comment about CONSADDR


Revision tags: pgoyette-compat-0521 pgoyette-compat-0502 pgoyette-compat-0422 pgoyette-compat-0415 pgoyette-compat-0407 pgoyette-compat-0330 pgoyette-compat-0322
# 1.7 17-Mar-2018 ryo

move from sys/arch/arm/arm32/armv7_generic_dma.c to sys/arch/arm/arm/arm_generic_dma.c,
and change variable name from armv7_generic_dma_tag to arm_generic_dma_tag

no functional change. (preliminary changes for merging aarch64)


Revision tags: pgoyette-compat-0315 pgoyette-compat-base
# 1.6 19-Dec-2017 skrll

branches: 1.6.2;
Trailing whitespace


Revision tags: tls-maxphys-base-20171202
# 1.5 18-Nov-2017 jmcneill

branches: 1.5.2;
Fix clcd node path for newer dtb


# 1.4 22-Oct-2017 skrll

Centralise defines for DEVMAP_{ALIGN,SIZE,ENTRY,ENTRY_END}


Revision tags: nick-nhusb-base-20170825 perseant-stdc-iso10646-base
# 1.3 06-Jun-2017 jmcneill

branches: 1.3.4;
Allow 'console=fb' to act as a shortcut on vexpress for
'stdout-path=/smb@08000000/motherboard/iofpga@3,00000000/clcd@1f0000'


Revision tags: netbsd-8-base
# 1.2 02-Jun-2017 jmcneill

branches: 1.2.2;
Add SMP support to VEXPRESS_A15 kernel. Enable with '-smp 2' on qemu
command line.


# 1.1 02-Jun-2017 jmcneill

Switch VEXPRESS_A15 kernel to use FDT and GENERIC.common. The dtb for this
kernel can be found in the sysutils/dtb-arm-vexpress package as
vexpress-v2p-ca15-tc1.dtb


# 1.17 10-Jul-2020 skrll

Add support for KASAN on ARMv[67]

Thanks to maxv for many pointers and reviews.


Revision tags: bouyer-xenpvh-base2 phil-wifi-20200421 bouyer-xenpvh-base1 phil-wifi-20200411 bouyer-xenpvh-base is-mlppp-base phil-wifi-20200406 ad-namecache-base3
# 1.16 15-Feb-2020 skrll

Various updates and improvements to cpu start up on arm/aarch64

- start sharing more code around the AP startup messaging.
- call arm_cpu_topology_set early so that ci_core_id is available for
drivers, e.g. bcm2835_intr.c
- both arm and aarch64 now have
- a static cpu_info_store array
- the same arm_cpu_{hatched,mbox}


Revision tags: netbsd-9-0-RELEASE netbsd-9-0-RC2 ad-namecache-base2 ad-namecache-base1 ad-namecache-base netbsd-9-0-RC1 phil-wifi-20191119 netbsd-9-base
# 1.15 23-Jul-2019 jmcneill

branches: 1.15.4;
No need for console=fb handling with WSDISPLAY_MULTICONS


Revision tags: phil-wifi-20190609 isaki-audio2-base
# 1.14 31-Jan-2019 skrll

Fix build


# 1.13 31-Jan-2019 skrll

Change ap_mpstart to return non-zero value if any/all APs don't start.


Revision tags: pgoyette-compat-20190127 pgoyette-compat-20190118 pgoyette-compat-1226 pgoyette-compat-1126
# 1.12 30-Oct-2018 skrll

Retire fdt_putchar and ap_early_put_char in favour of uartputc.


Revision tags: pgoyette-compat-1020
# 1.11 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


Revision tags: pgoyette-compat-0930
# 1.10 21-Sep-2018 skrll

Centralise defparam CONSADDR, CONSPEED, CONMODE and CONADDR into
opt_console.h and adjust.


Revision tags: pgoyette-compat-0906
# 1.9 05-Aug-2018 skrll

Add prefixes to struct arm_platform{,_info} members.

No functional change.


Revision tags: pgoyette-compat-0728 phil-wifi-base pgoyette-compat-0625
# 1.8 11-Jun-2018 jakllsch

branches: 1.8.2;
fill in vexpress_platform_early_putchar(); make comment about CONSADDR


Revision tags: pgoyette-compat-0521 pgoyette-compat-0502 pgoyette-compat-0422 pgoyette-compat-0415 pgoyette-compat-0407 pgoyette-compat-0330 pgoyette-compat-0322
# 1.7 17-Mar-2018 ryo

move from sys/arch/arm/arm32/armv7_generic_dma.c to sys/arch/arm/arm/arm_generic_dma.c,
and change variable name from armv7_generic_dma_tag to arm_generic_dma_tag

no functional change. (preliminary changes for merging aarch64)


Revision tags: pgoyette-compat-0315 pgoyette-compat-base
# 1.6 19-Dec-2017 skrll

branches: 1.6.2;
Trailing whitespace


Revision tags: tls-maxphys-base-20171202
# 1.5 18-Nov-2017 jmcneill

branches: 1.5.2;
Fix clcd node path for newer dtb


# 1.4 22-Oct-2017 skrll

Centralise defines for DEVMAP_{ALIGN,SIZE,ENTRY,ENTRY_END}


Revision tags: nick-nhusb-base-20170825 perseant-stdc-iso10646-base
# 1.3 06-Jun-2017 jmcneill

branches: 1.3.4;
Allow 'console=fb' to act as a shortcut on vexpress for
'stdout-path=/smb@08000000/motherboard/iofpga@3,00000000/clcd@1f0000'


Revision tags: netbsd-8-base
# 1.2 02-Jun-2017 jmcneill

branches: 1.2.2;
Add SMP support to VEXPRESS_A15 kernel. Enable with '-smp 2' on qemu
command line.


# 1.1 02-Jun-2017 jmcneill

Switch VEXPRESS_A15 kernel to use FDT and GENERIC.common. The dtb for this
kernel can be found in the sysutils/dtb-arm-vexpress package as
vexpress-v2p-ca15-tc1.dtb


# 1.16 15-Feb-2020 skrll

Various updates and improvements to cpu start up on arm/aarch64

- start sharing more code around the AP startup messaging.
- call arm_cpu_topology_set early so that ci_core_id is available for
drivers, e.g. bcm2835_intr.c
- both arm and aarch64 now have
- a static cpu_info_store array
- the same arm_cpu_{hatched,mbox}


Revision tags: netbsd-9-0-RELEASE netbsd-9-0-RC2 ad-namecache-base2 ad-namecache-base1 ad-namecache-base netbsd-9-0-RC1 phil-wifi-20191119 netbsd-9-base
# 1.15 23-Jul-2019 jmcneill

No need for console=fb handling with WSDISPLAY_MULTICONS


Revision tags: phil-wifi-20190609 isaki-audio2-base
# 1.14 31-Jan-2019 skrll

Fix build


# 1.13 31-Jan-2019 skrll

Change ap_mpstart to return non-zero value if any/all APs don't start.


Revision tags: pgoyette-compat-20190127 pgoyette-compat-20190118 pgoyette-compat-1226 pgoyette-compat-1126
# 1.12 30-Oct-2018 skrll

Retire fdt_putchar and ap_early_put_char in favour of uartputc.


Revision tags: pgoyette-compat-1020
# 1.11 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


Revision tags: pgoyette-compat-0930
# 1.10 21-Sep-2018 skrll

Centralise defparam CONSADDR, CONSPEED, CONMODE and CONADDR into
opt_console.h and adjust.


Revision tags: pgoyette-compat-0906
# 1.9 05-Aug-2018 skrll

Add prefixes to struct arm_platform{,_info} members.

No functional change.


Revision tags: pgoyette-compat-0728 phil-wifi-base pgoyette-compat-0625
# 1.8 11-Jun-2018 jakllsch

branches: 1.8.2;
fill in vexpress_platform_early_putchar(); make comment about CONSADDR


Revision tags: pgoyette-compat-0521 pgoyette-compat-0502 pgoyette-compat-0422 pgoyette-compat-0415 pgoyette-compat-0407 pgoyette-compat-0330 pgoyette-compat-0322
# 1.7 17-Mar-2018 ryo

move from sys/arch/arm/arm32/armv7_generic_dma.c to sys/arch/arm/arm/arm_generic_dma.c,
and change variable name from armv7_generic_dma_tag to arm_generic_dma_tag

no functional change. (preliminary changes for merging aarch64)


Revision tags: pgoyette-compat-0315 pgoyette-compat-base
# 1.6 19-Dec-2017 skrll

branches: 1.6.2;
Trailing whitespace


Revision tags: tls-maxphys-base-20171202
# 1.5 18-Nov-2017 jmcneill

branches: 1.5.2;
Fix clcd node path for newer dtb


# 1.4 22-Oct-2017 skrll

Centralise defines for DEVMAP_{ALIGN,SIZE,ENTRY,ENTRY_END}


Revision tags: nick-nhusb-base-20170825 perseant-stdc-iso10646-base
# 1.3 06-Jun-2017 jmcneill

branches: 1.3.4;
Allow 'console=fb' to act as a shortcut on vexpress for
'stdout-path=/smb@08000000/motherboard/iofpga@3,00000000/clcd@1f0000'


Revision tags: netbsd-8-base
# 1.2 02-Jun-2017 jmcneill

branches: 1.2.2;
Add SMP support to VEXPRESS_A15 kernel. Enable with '-smp 2' on qemu
command line.


# 1.1 02-Jun-2017 jmcneill

Switch VEXPRESS_A15 kernel to use FDT and GENERIC.common. The dtb for this
kernel can be found in the sysutils/dtb-arm-vexpress package as
vexpress-v2p-ca15-tc1.dtb


# 1.15 23-Jul-2019 jmcneill

No need for console=fb handling with WSDISPLAY_MULTICONS


Revision tags: phil-wifi-20190609 isaki-audio2-base
# 1.14 31-Jan-2019 skrll

Fix build


# 1.13 31-Jan-2019 skrll

Change ap_mpstart to return non-zero value if any/all APs don't start.


Revision tags: pgoyette-compat-20190127 pgoyette-compat-20190118 pgoyette-compat-1226 pgoyette-compat-1126
# 1.12 30-Oct-2018 skrll

Retire fdt_putchar and ap_early_put_char in favour of uartputc.


Revision tags: pgoyette-compat-1020
# 1.11 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


Revision tags: pgoyette-compat-0930
# 1.10 21-Sep-2018 skrll

Centralise defparam CONSADDR, CONSPEED, CONMODE and CONADDR into
opt_console.h and adjust.


Revision tags: pgoyette-compat-0906
# 1.9 05-Aug-2018 skrll

Add prefixes to struct arm_platform{,_info} members.

No functional change.


Revision tags: pgoyette-compat-0728 phil-wifi-base pgoyette-compat-0625
# 1.8 11-Jun-2018 jakllsch

branches: 1.8.2;
fill in vexpress_platform_early_putchar(); make comment about CONSADDR


Revision tags: pgoyette-compat-0521 pgoyette-compat-0502 pgoyette-compat-0422 pgoyette-compat-0415 pgoyette-compat-0407 pgoyette-compat-0330 pgoyette-compat-0322
# 1.7 17-Mar-2018 ryo

move from sys/arch/arm/arm32/armv7_generic_dma.c to sys/arch/arm/arm/arm_generic_dma.c,
and change variable name from armv7_generic_dma_tag to arm_generic_dma_tag

no functional change. (preliminary changes for merging aarch64)


Revision tags: pgoyette-compat-0315 pgoyette-compat-base
# 1.6 19-Dec-2017 skrll

branches: 1.6.2;
Trailing whitespace


Revision tags: tls-maxphys-base-20171202
# 1.5 18-Nov-2017 jmcneill

branches: 1.5.2;
Fix clcd node path for newer dtb


# 1.4 22-Oct-2017 skrll

Centralise defines for DEVMAP_{ALIGN,SIZE,ENTRY,ENTRY_END}


Revision tags: nick-nhusb-base-20170825 perseant-stdc-iso10646-base
# 1.3 06-Jun-2017 jmcneill

branches: 1.3.4;
Allow 'console=fb' to act as a shortcut on vexpress for
'stdout-path=/smb@08000000/motherboard/iofpga@3,00000000/clcd@1f0000'


Revision tags: netbsd-8-base
# 1.2 02-Jun-2017 jmcneill

branches: 1.2.2;
Add SMP support to VEXPRESS_A15 kernel. Enable with '-smp 2' on qemu
command line.


# 1.1 02-Jun-2017 jmcneill

Switch VEXPRESS_A15 kernel to use FDT and GENERIC.common. The dtb for this
kernel can be found in the sysutils/dtb-arm-vexpress package as
vexpress-v2p-ca15-tc1.dtb


Revision tags: isaki-audio2-base
# 1.14 31-Jan-2019 skrll

Fix build


# 1.13 31-Jan-2019 skrll

Change ap_mpstart to return non-zero value if any/all APs don't start.


Revision tags: pgoyette-compat-20190127 pgoyette-compat-20190118 pgoyette-compat-1226 pgoyette-compat-1126
# 1.12 30-Oct-2018 skrll

Retire fdt_putchar and ap_early_put_char in favour of uartputc.


Revision tags: pgoyette-compat-1020
# 1.11 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


Revision tags: pgoyette-compat-0930
# 1.10 21-Sep-2018 skrll

Centralise defparam CONSADDR, CONSPEED, CONMODE and CONADDR into
opt_console.h and adjust.


Revision tags: pgoyette-compat-0906
# 1.9 05-Aug-2018 skrll

Add prefixes to struct arm_platform{,_info} members.

No functional change.


Revision tags: pgoyette-compat-0728 phil-wifi-base pgoyette-compat-0625
# 1.8 11-Jun-2018 jakllsch

fill in vexpress_platform_early_putchar(); make comment about CONSADDR


Revision tags: pgoyette-compat-0521 pgoyette-compat-0502 pgoyette-compat-0422 pgoyette-compat-0415 pgoyette-compat-0407 pgoyette-compat-0330 pgoyette-compat-0322
# 1.7 17-Mar-2018 ryo

move from sys/arch/arm/arm32/armv7_generic_dma.c to sys/arch/arm/arm/arm_generic_dma.c,
and change variable name from armv7_generic_dma_tag to arm_generic_dma_tag

no functional change. (preliminary changes for merging aarch64)


Revision tags: pgoyette-compat-0315 pgoyette-compat-base
# 1.6 19-Dec-2017 skrll

branches: 1.6.2;
Trailing whitespace


Revision tags: tls-maxphys-base-20171202
# 1.5 18-Nov-2017 jmcneill

branches: 1.5.2;
Fix clcd node path for newer dtb


# 1.4 22-Oct-2017 skrll

Centralise defines for DEVMAP_{ALIGN,SIZE,ENTRY,ENTRY_END}


Revision tags: nick-nhusb-base-20170825 perseant-stdc-iso10646-base
# 1.3 06-Jun-2017 jmcneill

branches: 1.3.4;
Allow 'console=fb' to act as a shortcut on vexpress for
'stdout-path=/smb@08000000/motherboard/iofpga@3,00000000/clcd@1f0000'


Revision tags: netbsd-8-base
# 1.2 02-Jun-2017 jmcneill

branches: 1.2.2;
Add SMP support to VEXPRESS_A15 kernel. Enable with '-smp 2' on qemu
command line.


# 1.1 02-Jun-2017 jmcneill

Switch VEXPRESS_A15 kernel to use FDT and GENERIC.common. The dtb for this
kernel can be found in the sysutils/dtb-arm-vexpress package as
vexpress-v2p-ca15-tc1.dtb


# 1.6 19-Dec-2017 skrll

Trailing whitespace


Revision tags: tls-maxphys-base-20171202
# 1.5 18-Nov-2017 jmcneill

branches: 1.5.2;
Fix clcd node path for newer dtb


# 1.4 22-Oct-2017 skrll

Centralise defines for DEVMAP_{ALIGN,SIZE,ENTRY,ENTRY_END}


Revision tags: nick-nhusb-base-20170825 perseant-stdc-iso10646-base
# 1.3 06-Jun-2017 jmcneill

branches: 1.3.4;
Allow 'console=fb' to act as a shortcut on vexpress for
'stdout-path=/smb@08000000/motherboard/iofpga@3,00000000/clcd@1f0000'


Revision tags: netbsd-8-base
# 1.2 02-Jun-2017 jmcneill

branches: 1.2.2;
Add SMP support to VEXPRESS_A15 kernel. Enable with '-smp 2' on qemu
command line.


# 1.1 02-Jun-2017 jmcneill

Switch VEXPRESS_A15 kernel to use FDT and GENERIC.common. The dtb for this
kernel can be found in the sysutils/dtb-arm-vexpress package as
vexpress-v2p-ca15-tc1.dtb