PERFORCE change 102475 for review

Paolo Pisati piso at FreeBSD.org
Wed Jul 26 17:39:07 UTC 2006


http://perforce.freebsd.org/chv.cgi?CH=102475

Change 102475 by piso at piso_newluxor on 2006/07/26 17:39:01

	IFC (again)

Affected files ...

.. //depot/projects/soc2005/libalias/UPDATING#3 integrate
.. //depot/projects/soc2005/libalias/sys/dev/uart/uart_cpu_powerpc.c#2 integrate
.. //depot/projects/soc2005/libalias/sys/dev/uart/uart_dev_z8530.c#2 integrate
.. //depot/projects/soc2005/libalias/sys/powerpc/conf/GENERIC#3 integrate
.. //depot/projects/soc2005/libalias/sys/powerpc/conf/NOTES#2 integrate
.. //depot/projects/soc2005/libalias/sys/powerpc/include/md_var.h#2 integrate
.. //depot/projects/soc2005/libalias/sys/powerpc/include/ofw_machdep.h#2 integrate
.. //depot/projects/soc2005/libalias/sys/powerpc/include/pcb.h#2 integrate
.. //depot/projects/soc2005/libalias/sys/powerpc/powerpc/clock.c#2 integrate
.. //depot/projects/soc2005/libalias/sys/powerpc/powerpc/mem.c#2 integrate
.. //depot/projects/soc2005/libalias/sys/powerpc/powerpc/ofw_machdep.c#2 integrate

Differences ...

==== //depot/projects/soc2005/libalias/UPDATING#3 (text+ko) ====

@@ -21,6 +21,13 @@
 	developers choose to disable these features on build machines
 	to maximize performance.
 
+20060725:
+	enigma(1)/crypt(1) utility has been changed on 64 bit architectures.
+	Now it can decrypt files created from different architectures.
+	Unfortunately, it is no longer able to decrypt a cipher text
+	generated with an older version on 64 bit architectures.
+	If you have such a file, you need old utility to decrypt it.
+
 20060709:
  	The interface version of the i4b kernel part has changed. So
  	after updating the kernel sources and compiling a new kernel,
@@ -591,4 +598,4 @@
 Contact Warner Losh if you have any questions about your use of
 this document.
 
-$FreeBSD: src/UPDATING,v 1.451 2006/07/09 21:16:06 twinterg Exp $
+$FreeBSD: src/UPDATING,v 1.452 2006/07/26 16:31:10 jkim Exp $

==== //depot/projects/soc2005/libalias/sys/dev/uart/uart_cpu_powerpc.c#2 (text) ====

@@ -25,14 +25,16 @@
  */
 
 #include <sys/cdefs.h>
-__FBSDID("$FreeBSD: src/sys/dev/uart/uart_cpu_powerpc.c,v 1.1 2006/03/31 01:42:55 marcel Exp $");
+__FBSDID("$FreeBSD: src/sys/dev/uart/uart_cpu_powerpc.c,v 1.2 2006/07/26 17:17:23 marcel Exp $");
 
 #include <sys/param.h>
 #include <sys/systm.h>
-#include <sys/bus.h>
 
 #include <machine/bus.h>
 
+#include <dev/ofw/openfirm.h>
+#include <machine/ofw_machdep.h>
+
 #include <dev/uart/uart.h>
 #include <dev/uart/uart_cpu.h>
 
@@ -43,12 +45,63 @@
 uart_cpu_eqres(struct uart_bas *b1, struct uart_bas *b2)
 {
 
-	return (0);
+	return ((b1->bsh == b2->bsh) ? 1 : 0);
 }
 
 int
 uart_cpu_getdev(int devtype, struct uart_devinfo *di)
 {
+	char buf[64];
+	phandle_t input, opts;
+	int error;
 
-	return (ENXIO);
+	if ((opts = OF_finddevice("/options")) == -1)
+		return (ENXIO);
+	switch (devtype) {
+	case UART_DEV_CONSOLE:
+		if (OF_getprop(opts, "input-device", buf, sizeof(buf)) == -1)
+			return (ENXIO);
+		input = OF_finddevice(buf);
+		if (input == -1)
+			return (ENXIO);
+		if (OF_getprop(opts, "output-device", buf, sizeof(buf)) == -1)
+			return (ENXIO);
+		if (OF_finddevice(buf) != input)
+			return (ENXIO);
+		break;
+	case UART_DEV_DBGPORT:
+		if (!getenv_string("hw.uart.dbgport", buf, sizeof(buf)))
+			return (ENXIO);
+		input = OF_finddevice(buf);
+		if (input == -1)
+			return (ENXIO);
+		break;
+	default:
+		return (EINVAL);
+	}
+
+	if (OF_getprop(input, "device_type", buf, sizeof(buf)) == -1)
+		return (ENXIO);
+	if (strcmp(buf, "serial") != 0)
+		return (ENXIO);
+	if (OF_getprop(input, "name", buf, sizeof(buf)) == -1)
+		return (ENXIO);
+	if (strcmp(buf, "ch-a"))
+		return (ENXIO);
+
+	error = OF_decode_addr(input, 0, &di->bas.bst, &di->bas.bsh);
+	if (error)
+		return (error);
+
+	di->ops = uart_z8530_ops;
+
+	di->bas.rclk = 230400;
+	di->bas.chan = 1;
+	di->bas.regshft = 4;
+
+	di->baudrate = 0;
+	di->databits = 8;
+	di->stopbits = 1;
+	di->parity = UART_PARITY_NONE;
+	return (0);
 }

==== //depot/projects/soc2005/libalias/sys/dev/uart/uart_dev_z8530.c#2 (text+ko) ====

@@ -25,7 +25,7 @@
  */
 
 #include <sys/cdefs.h>
-__FBSDID("$FreeBSD: src/sys/dev/uart/uart_dev_z8530.c,v 1.18 2006/05/12 23:24:45 marcel Exp $");
+__FBSDID("$FreeBSD: src/sys/dev/uart/uart_dev_z8530.c,v 1.20 2006/07/26 17:29:37 marcel Exp $");
 
 #include <sys/param.h>
 #include <sys/systm.h>
@@ -43,6 +43,13 @@
 
 #define	DEFAULT_RCLK	307200
 
+/* Hack! */
+#ifdef __powerpc__
+#define	UART_PCLK	0
+#else
+#define	UART_PCLK	MCB2_PCLK
+#endif
+
 /* Multiplexed I/O. */
 static __inline void
 uart_setmreg(struct uart_bas *bas, int reg, int val)
@@ -124,7 +131,7 @@
 	} else
 		divisor = -1;
 
-	uart_setmreg(bas, WR_MCB2, MCB2_PCLK);
+	uart_setmreg(bas, WR_MCB2, UART_PCLK);
 	uart_barrier(bas);
 
 	if (divisor >= 0) {
@@ -140,7 +147,7 @@
 	uart_barrier(bas);
 	uart_setmreg(bas, WR_TPC, tpc);
 	uart_barrier(bas);
-	uart_setmreg(bas, WR_MCB2, MCB2_PCLK | MCB2_BRGE);
+	uart_setmreg(bas, WR_MCB2, UART_PCLK | MCB2_BRGE);
 	uart_barrier(bas);
 	*tpcp = tpc;
 	return (0);
@@ -167,7 +174,7 @@
 	uart_barrier(bas);
 	/* Set clock sources. */
 	uart_setmreg(bas, WR_CMC, CMC_RC_BRG | CMC_TC_BRG);
-	uart_setmreg(bas, WR_MCB2, MCB2_PCLK);
+	uart_setmreg(bas, WR_MCB2, UART_PCLK);
 	uart_barrier(bas);
 	/* Set data encoding. */
 	uart_setmreg(bas, WR_MCB1, MCB1_NRZ);
@@ -383,7 +390,7 @@
 {
 	struct z8530_softc *z8530 = (struct z8530_softc*)sc;
 	struct uart_bas *bas;
-	int error;
+	int baudrate, divisor, error;
 
 	bas = &sc->sc_bas;
 	error = 0;
@@ -397,6 +404,12 @@
 		uart_setmreg(bas, WR_TPC, z8530->tpc);
 		uart_barrier(bas);
 		break;
+	case UART_IOCTL_BAUD:
+		divisor = uart_getmreg(bas, RR_TCH);
+		divisor = (divisor << 8) | uart_getmreg(bas, RR_TCL);
+		baudrate = bas->rclk / 2 / (divisor + 2);
+		*(int*)data = baudrate;
+		break;
 	default:
 		error = EINVAL;
 		break;

==== //depot/projects/soc2005/libalias/sys/powerpc/conf/GENERIC#3 (text+ko) ====

@@ -16,7 +16,7 @@
 # If you are in doubt as to the purpose or necessity of a line, check first 
 # in NOTES.
 #
-# $FreeBSD: src/sys/powerpc/conf/GENERIC,v 1.57 2006/06/26 22:03:22 babkin Exp $
+# $FreeBSD: src/sys/powerpc/conf/GENERIC,v 1.58 2006/07/26 17:34:05 marcel Exp $
 
 cpu		OEA
 ident		GENERIC
@@ -25,7 +25,6 @@
 #hints		"GENERIC.hints"
 
 makeoptions	DEBUG=-g		#Build kernel with gdb(1) debug symbols
-makeoptions	WERROR=-Wno-error	#XXX: We don't want -Werror just now
 
 # Platform support
 options 	POWERMAC		#NewWorld Apple PowerMacs
@@ -93,8 +92,8 @@
 makeoptions	SC_DFLT_FONT=cp437
 
 # Serial (COM) ports
-#device		sio		# 8250, 16[45]50 based serial ports
-device		zs		# Zilog 8350 based serial ports
+device		scc
+device		uart
 
 # PCI Ethernet NICs that use the common MII bus controller code.
 device		miibus		# MII bus support

==== //depot/projects/soc2005/libalias/sys/powerpc/conf/NOTES#2 (text+ko) ====

@@ -1,4 +1,4 @@
-# $FreeBSD: src/sys/powerpc/conf/NOTES,v 1.2 2005/12/30 16:45:31 ru Exp $
+# $FreeBSD: src/sys/powerpc/conf/NOTES,v 1.3 2006/07/26 17:35:40 marcel Exp $
 #
 # This file contains machine dependent kernel configuration notes.  For
 # machine independent notes, look in /sys/conf/NOTES.
@@ -20,7 +20,6 @@
 # Standard busses
 device		pci
 
-device		zs		# Zilog 8350 based serial ports
 device		gem		# Sun GEM/Sun ERI/Apple GMAC
 device		ofwd		# Open Firmware disks
 
@@ -31,6 +30,7 @@
 nodevice	atkbdc
 nodevice	atkbd
 nodevice	psm
+nodevice	sio
 nodevice	vga
 nodevice	fdc
 nodevice	ppc
@@ -52,16 +52,12 @@
 nodevice	snake_saver
 # needs outsw use fixed
 nodevice	cs
-# XXX can't remember why
-nodevice	uart
 # isa
 nodevice	pcii
 nodevice	tnt4882
 # wants gdb_cur
 nodevice	dcons
 nodevice	dcons_crom
-# not yet
-nodevice	sio
 
 
 #####################################################################

==== //depot/projects/soc2005/libalias/sys/powerpc/include/md_var.h#2 (text+ko) ====

@@ -23,7 +23,7 @@
  * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
  * SUCH DAMAGE.
  *
- * $FreeBSD: src/sys/powerpc/include/md_var.h,v 1.26 2003/08/16 16:57:57 marcel Exp $
+ * $FreeBSD: src/sys/powerpc/include/md_var.h,v 1.27 2006/07/26 17:12:54 marcel Exp $
  */
 
 #ifndef _MACHINE_MD_VAR_H_
@@ -52,6 +52,7 @@
 
 void	busdma_swi(void);
 int	is_physical_memory(vm_offset_t addr);
+int	mem_valid(vm_offset_t addr, int len);
 
 void	decr_init(void);
 

==== //depot/projects/soc2005/libalias/sys/powerpc/include/ofw_machdep.h#2 (text+ko) ====

@@ -22,7 +22,7 @@
  * OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE
  * USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
  *
- * $FreeBSD: src/sys/powerpc/include/ofw_machdep.h,v 1.2 2004/08/16 13:07:40 ssouhlal Exp $
+ * $FreeBSD: src/sys/powerpc/include/ofw_machdep.h,v 1.3 2006/07/26 17:12:54 marcel Exp $
  */
 
 #ifndef _MACHINE_OFW_MACHDEP_H_
@@ -30,7 +30,7 @@
 
 #include <sys/bus.h>
 
+int  OF_decode_addr(phandle_t, int, bus_space_tag_t *, bus_space_handle_t *);
 void OF_getetheraddr(device_t dev, u_char *addr);
-int mem_valid(vm_offset_t addr, int len);
 
 #endif /* _MACHINE_OFW_MACHDEP_H_ */

==== //depot/projects/soc2005/libalias/sys/powerpc/include/pcb.h#2 (text+ko) ====

@@ -29,7 +29,7 @@
  * ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
  *
  *	$NetBSD: pcb.h,v 1.4 2000/06/04 11:57:17 tsubai Exp $
- * $FreeBSD: src/sys/powerpc/include/pcb.h,v 1.8 2004/07/12 22:17:20 grehan Exp $
+ * $FreeBSD: src/sys/powerpc/include/pcb.h,v 1.9 2006/07/26 17:05:11 marcel Exp $
  */
 
 #ifndef _MACHINE_PCB_H_
@@ -59,6 +59,8 @@
 
 #ifdef	_KERNEL
 
+struct trapframe;
+
 #ifndef curpcb
 extern struct pcb *curpcb;
 #endif

==== //depot/projects/soc2005/libalias/sys/powerpc/powerpc/clock.c#2 (text+ko) ====

@@ -56,7 +56,7 @@
  */
 
 #include <sys/cdefs.h>
-__FBSDID("$FreeBSD: src/sys/powerpc/powerpc/clock.c,v 1.23 2006/05/16 14:32:17 phk Exp $");
+__FBSDID("$FreeBSD: src/sys/powerpc/powerpc/clock.c,v 1.24 2006/07/26 17:06:39 marcel Exp $");
 
 #include <sys/param.h>
 #include <sys/systm.h>
@@ -68,6 +68,7 @@
 
 #include <dev/ofw/openfirm.h>
 
+#include <machine/clock.h>
 #include <machine/cpu.h>
 #include <machine/intr.h>
 #include <machine/md_var.h>

==== //depot/projects/soc2005/libalias/sys/powerpc/powerpc/mem.c#2 (text+ko) ====

@@ -37,7 +37,7 @@
  */
 
 #include <sys/cdefs.h>
-__FBSDID("$FreeBSD: src/sys/powerpc/powerpc/mem.c,v 1.1 2004/08/16 13:07:40 ssouhlal Exp $");
+__FBSDID("$FreeBSD: src/sys/powerpc/powerpc/mem.c,v 1.2 2006/07/26 17:12:54 marcel Exp $");
 
 /*
  * Memory special file
@@ -59,7 +59,6 @@
 #include <sys/uio.h>
 
 #include <machine/md_var.h>
-#include <machine/ofw_machdep.h>
 #include <machine/vmparam.h>
 
 #include <vm/vm.h>

==== //depot/projects/soc2005/libalias/sys/powerpc/powerpc/ofw_machdep.c#2 (text+ko) ====

@@ -32,7 +32,7 @@
  */
 
 #include <sys/cdefs.h>
-__FBSDID("$FreeBSD: src/sys/powerpc/powerpc/ofw_machdep.c,v 1.15 2005/11/11 09:32:27 grehan Exp $");
+__FBSDID("$FreeBSD: src/sys/powerpc/powerpc/ofw_machdep.c,v 1.16 2006/07/26 17:12:54 marcel Exp $");
 
 #include <sys/param.h>
 #include <sys/bus.h>
@@ -51,6 +51,8 @@
 #include <vm/vm_param.h>
 #include <vm/vm_page.h>
 
+#include <machine/bus.h>
+#include <machine/md_var.h>
 #include <machine/powerpc.h>
 #include <machine/ofw_machdep.h>
 #include <powerpc/ofw/ofw_pci.h>
@@ -284,6 +286,22 @@
 	OF_getprop(node, "local-mac-address", addr, ETHER_ADDR_LEN);
 }
 
+/*
+ * Return the physical address and the bus space to use for a node
+ * referenced by its package handle and the index of the register bank
+ * to decode. Intended to be used by console drivers in early boot only.
+ * Works by mapping the address of the node's bank given in the address
+ * space of its parent upward in the device tree at each bridge along the
+ * path.
+ */
+int
+OF_decode_addr(phandle_t node, int bank, bus_space_tag_t *tag,
+    bus_space_handle_t *handle)
+{
+
+	return (ENXIO);
+}
+
 int
 mem_valid(vm_offset_t addr, int len)
 {


More information about the p4-projects mailing list