Skip site navigation (1)Skip section navigation (2)
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>