Home | History | Annotate | Download | only in include
History log of /src/sys/arch/evbarm/include/types.h
RevisionDateAuthorComments
 1.16  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.15  01-Apr-2021  simonb branches: 1.15.16;
Whitespace: #define<tab>
 1.14  01-Apr-2018  ryo branches: 1.14.14; 1.14.16;
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.13  26-Jan-2017  christos branches: 1.13.12;
provide __HAVE_COMPAT_NETBSD32 and fix multiple include protection consistently.
 1.12  26-Nov-2011  skrll branches: 1.12.8; 1.12.26; 1.12.30; 1.12.34;
G/c empty #ifndef __OLD_INTERRUPT_CODE
 1.11  17-Jul-2011  dyoung branches: 1.11.2;
On ARM-ish ports having PCI support, use new-style <sys/bus.h>. Do not
install <machine/bus.h>. Remove various <machine/bus.h> sources.
 1.10  20-Jan-2008  joerg Now that __HAVE_TIMECOUNTER and __HAVE_GENERIC_TODR are invariants,
remove the conditionals and the code associated with the undef case.
 1.9  17-Oct-2007  garbled branches: 1.9.2; 1.9.8;
Merge the ppcoea-renovation branch to HEAD.

This branch was a major cleanup and rototill of many of the various OEA
cpu based PPC ports that focused on sharing as much code as possible
between the various ports to eliminate near-identical copies of files in
every tree. Additionally there is a new PIC system that unifies the
interface to interrupt code for all different OEA ppc arches. The work
for this branch was done by a variety of people, too long to list here.

TODO:
bebox still needs work to complete the transition to -renovation.
ofppc still needs a bunch of work, which I will be looking at.
ev64260 still needs to be renovated
amigappc was not attempted.

NOTES:
pmppc was removed as an arch, and moved to a evbppc target.
 1.8  14-Jul-2007  ad branches: 1.8.6; 1.8.10;
Generic soft interrupts are mandatory.
 1.7  19-Feb-2007  briggs branches: 1.7.4; 1.7.12;
Convert evbarm to __HAVE_GENERIC_TODR.
 1.6  03-Sep-2006  bjh21 branches: 1.6.6; 1.6.8;
Nothing in the kernel now tests __HAVE_NWSCONS, so stop defining it everywhere.
 1.5  28-Feb-2002  simonb branches: 1.5.32; 1.5.46; 1.5.50;
Use "#define<tab>".
 1.4  30-Jan-2002  thorpej branches: 1.4.2;
New interrupt framework for NetBSD/evbarm, and accompanying new
interrupt code for the IQ80310 board support package.

XXX The Integrator board support package still uses the old-style
arm32 interrupt code, so some compatibility hacks have been added
for it. When the Integrator uses new-style interrupts, those hacks
can go away.
 1.3  25-Nov-2001  thorpej End the "new ARM includes strategy" experiment. The new strategy
broke too many assumptions makde by other parts of the source tree,
and the strategy and how it was supposed to work was never discussed
on tech-userlevel, nor was it applied consistently (to all ARM ports
and to other ports which have common MACHINE_ARCH code, such as MIPS,
m68k, powerpc).

Verified to complete a full "make build" on cats, dnard, evbarm,
and netwinder.
 1.2  22-Nov-2001  thorpej Add 26-bit and 32-bit types.h files, which indicate the programming
model in use for a given platform (__PROG26 vs __PROG32), then pulls
in <arm/types.h>. Change each ARM port to pull in <arm/arm26/types.h>
or <arm/arm32/types.h> as appropriate. Change all references to PROG26
and PROG32 to __PROG26 and __PROG32. Eliminate the opt_progmode.h
header file.
 1.1  05-Sep-2001  matt branches: 1.1.6;
more evbarm files (very incomplete).
 1.1.6.4  01-Apr-2002  nathanw Catch up to -current.
(CVS: It's not just a program. It's an adventure!)
 1.1.6.3  28-Feb-2002  nathanw Catch up to -current.
 1.1.6.2  08-Jan-2002  nathanw Catch up to -current.
 1.1.6.1  05-Sep-2001  nathanw file types.h was added on branch nathanw_sa on 2002-01-08 00:24:25 +0000
 1.4.2.3  16-Mar-2002  jdolecek Catch up with -current.
 1.4.2.2  11-Feb-2002  jdolecek Sync w/ -current.
 1.4.2.1  30-Jan-2002  jdolecek file types.h was added on branch kqueue on 2002-02-11 20:07:43 +0000
 1.5.50.1  14-Sep-2006  yamt sync with head.
 1.5.46.1  09-Sep-2006  rpaulo sync with head
 1.5.32.4  21-Jan-2008  yamt sync with head
 1.5.32.3  03-Sep-2007  yamt sync with head.
 1.5.32.2  26-Feb-2007  yamt sync with head.
 1.5.32.1  30-Dec-2006  yamt sync with head.
 1.6.8.1  27-Feb-2007  yamt - sync with head.
- move sched_changepri back to kern_synch.c as it doesn't know PPQ anymore.
 1.6.6.1  04-Mar-2007  bouyer branches: 1.6.6.1.4;
Pull up following revision(s) (requested by matt in ticket #470):
sys/arch/evbarm/iq80310/iq80310_timer.c: revision 1.20
sys/arch/evbarm/ifpga/pl030_rtc.c: revision 1.8
sys/arch/evbarm/include/types.h: revision 1.7
sys/arch/arm/arm32/genassym.cf: revision 1.30
sys/arch/arm/arm32/cpuswitch.S: revision 1.46
Get DOMAIN_CLIENT directly from arm/arm32/pte.h instead of from genassym
to avoid redefinition when both assymh and pte.h are included (as in
INTEGRATOR's intmmu.S, which uses more macros from pte.h).
Convert evbarm to __HAVE_GENERIC_TODR.
 1.6.6.1.4.1  10-Nov-2007  matt Add AT91 support from Sami Kantoluoto
Add TI OMAP2430 support from Marty Fouts @ Danger Inc
 1.7.12.1  03-Oct-2007  garbled Sync with HEAD
 1.7.4.1  15-Jul-2007  ad Sync with head.
 1.8.10.2  23-Mar-2008  matt sync with HEAD
 1.8.10.1  06-Nov-2007  matt sync with HEAD
 1.8.6.1  28-Feb-2008  rjs Sync with HEAD.
 1.9.8.1  23-Jan-2008  bouyer Sync with HEAD.
 1.9.2.1  18-Feb-2008  mjf Sync with HEAD.
 1.11.2.1  17-Apr-2012  yamt sync with head
 1.12.34.1  21-Apr-2017  bouyer Sync with HEAD
 1.12.30.1  20-Mar-2017  pgoyette Sync with HEAD
 1.12.26.1  05-Feb-2017  skrll Sync with HEAD
 1.12.8.1  03-Dec-2017  jdolecek update from HEAD
 1.13.12.1  07-Apr-2018  pgoyette Sync with HEAD. 77 conflicts resolved - all of them $NetBSD$
 1.14.16.1  03-Apr-2021  thorpej Sync with HEAD.
 1.14.14.1  03-Apr-2021  thorpej Sync with HEAD.
 1.15.16.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.

RSS XML Feed