Date: Sat, 29 Sep 2007 09:23:38 GMT From: Warner Losh <imp@FreeBSD.org> To: Perforce Change Reviews <perforce@freebsd.org> Subject: PERFORCE change 126962 for review Message-ID: <200709290923.l8T9Nc3g052767@repoman.freebsd.org>
next in thread | raw e-mail | index | archive | help
http://perforce.freebsd.org/chv.cgi?CH=126962 Change 126962 by imp@imp_paco-paco on 2007/09/29 09:23:26 Update my porting notes for tonight's fun. Affected files ... .. //depot/projects/arm/src/sys/arm/orion/Orion-Port#2 edit Differences ... ==== //depot/projects/arm/src/sys/arm/orion/Orion-Port#2 (text+ko) ==== @@ -47,4 +47,37 @@ + systempage + at91_usart_class <oops!> +20070929: 2:30-3:20 +o After talking to cognet@ on irc, I realized that I needed to revisit +KERNVIRTADDR and friends. Here's their definitions from Olivier Houchard: + KERNVIRTADDR is the virtual address at which the kernel is + loaded (and linked). + KERNPHYSADDR is the physical address at which the kernel is + loaded. + PHYSADDR is the physical address of the RAM. + KERNBASE is the virtual address of the beginning of the KVA. + STARTUP_PAGETABLE_ADDR is a physical address, suitable for the + very early pagetable we build in locore.S. + FLASHADDR is the address of the flash, virtual or physical + depending on what the loader does. That, and LOADERRAMADDR + (the address at which the loader maps the RAM if we're running + with the MMU enabled, and the physical address if not), are + used to detect if we're running from flash, and if so copying + the kernel to memory. +o Adjust std.orion to match the above, except for FLASHADDR support. + I had semi-bogusly mapped the load address (4MB) to 0xc0000000, but + instead we'll map it so that PA<->VA conversion just adds/subtracts + 0xc0000000 for ease of debugging (I hope). +o copy at91.c and at91var.h to orion.c and orion.h. This forms the + obio bus for the orion part. +o start working on orion_machdep.c. Copied it from kb920x_machdep.c, + but should be more careful about board init vs CPU/SoC init in this + port. +o Cleanup uart_cpu_orion so it builds. It is still LAME. +o Kernel links now with only a few undefines: +../../../ddb/db_command.c:610: undefined reference to `cpu_reset' +../../../kern/kern_clock.c:179: undefined reference to `cpu_initclocks' +../../../kern/kern_clock.c:389: undefined reference to `cpu_stopprofclock' +../../../kern/kern_clock.c:362: undefined reference to `cpu_startprofclock' +../../../kern/kern_shutdown.c:484: undefined reference to `cpu_reset'
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?200709290923.l8T9Nc3g052767>