Date: Sat, 20 Mar 2004 01:07:48 -0800 (PST) From: Marcel Moolenaar <marcel@FreeBSD.org> To: Perforce Change Reviews <perforce@freebsd.org> Subject: PERFORCE change 49359 for review Message-ID: <200403200907.i2K97meM055808@repoman.freebsd.org>
next in thread | raw e-mail | index | archive | help
http://perforce.freebsd.org/chv.cgi?CH=49359 Change 49359 by marcel@marcel_nfs on 2004/03/20 01:07:46 o Add skeletal support for alpha and sparc64. o Make the RX/TX buffer size MD. On ia64 we need 4K buffers. o In gdb_init() return -1 when there are no debug ports and return with a higher priority if RB_GDB is in effect. o In uart_dbg_probe() return -1 on failure. Affected files ... .. //depot/projects/gdb/sys/alpha/alpha/alpha-gdbstub.c#2 delete .. //depot/projects/gdb/sys/alpha/alpha/gdb_machdep.c#1 add .. //depot/projects/gdb/sys/alpha/include/gdb_machdep.h#1 add .. //depot/projects/gdb/sys/conf/files.alpha#3 edit .. //depot/projects/gdb/sys/conf/files.sparc64#2 edit .. //depot/projects/gdb/sys/dev/uart/uart_cpu_sparc64.c#5 edit .. //depot/projects/gdb/sys/dev/uart/uart_dbg.c#3 edit .. //depot/projects/gdb/sys/gdb/gdb_int.h#3 edit .. //depot/projects/gdb/sys/gdb/gdb_main.c#5 edit .. //depot/projects/gdb/sys/gdb/gdb_packet.c#3 edit .. //depot/projects/gdb/sys/i386/include/gdb_machdep.h#2 edit .. //depot/projects/gdb/sys/ia64/ia64/gdb_machdep.c#2 edit .. //depot/projects/gdb/sys/ia64/include/gdb_machdep.h#2 edit .. //depot/projects/gdb/sys/sparc64/include/gdb_machdep.h#1 add .. //depot/projects/gdb/sys/sparc64/sparc64/gdb_machdep.c#1 add Differences ... ==== //depot/projects/gdb/sys/conf/files.alpha#3 (text+ko) ==== @@ -35,7 +35,6 @@ no-obj no-implicit-rule before-depend \ clean "ukbdmap.h" # -alpha/alpha/alpha-gdbstub.c optional gdb alpha/alpha/api_up1000.c optional api_up1000 alpha/alpha/atomic.s standard alpha/alpha/autoconf.c standard @@ -67,6 +66,7 @@ alpha/alpha/exception.s standard alpha/alpha/fp_emulate.c standard alpha/alpha/ieee_float.c standard +alpha/alpha/gdb_machdep.c optional gdb alpha/alpha/in_cksum.c optional inet alpha/alpha/interrupt.c standard alpha/alpha/locore.s standard no-obj ==== //depot/projects/gdb/sys/conf/files.sparc64#2 (text+ko) ==== @@ -78,6 +78,7 @@ sparc64/sparc64/eeprom_ebus.c optional eeprom ebus sparc64/sparc64/eeprom_fhc.c optional eeprom fhc sparc64/sparc64/eeprom_sbus.c optional eeprom sbus +sparc64/sparc64/gdb_machdep.c optional gdb sparc64/sparc64/identcpu.c standard sparc64/sparc64/in_cksum.c optional inet sparc64/sparc64/interrupt.S standard no-obj ==== //depot/projects/gdb/sys/dev/uart/uart_cpu_sparc64.c#5 (text+ko) ==== @@ -123,7 +123,7 @@ return (-1); /* Rudimentary sanity check: the debug port cannot be the console. */ if (OF_getprop(options, "input-device", buf, sizeof(buf)) == -1) - return (-1); + return (input); if (OF_finddevice(buf) == input) return (-1); return (input); ==== //depot/projects/gdb/sys/dev/uart/uart_dbg.c#3 (text+ko) ==== @@ -55,12 +55,12 @@ { if (uart_cpu_getdev(UART_DEV_DBGPORT, &uart_dbgport)) - return (0); + return (-1); if (uart_probe(&uart_dbgport)) - return (0); + return (-1); - return (1); + return (0); } static void ==== //depot/projects/gdb/sys/gdb/gdb_int.h#3 (text+ko) ==== @@ -29,10 +29,6 @@ #ifndef _GDB_GDB_INT_H_ #define _GDB_GDB_INT_H_ -#ifndef GDB_BUFSZ -#define GDB_BUFSZ 400 -#endif - extern struct gdb_dbgport *gdb_cur; extern char *gdb_rxp; ==== //depot/projects/gdb/sys/gdb/gdb_main.c#5 (text+ko) ==== @@ -33,6 +33,7 @@ #include <sys/kernel.h> #include <sys/pcpu.h> #include <sys/proc.h> +#include <sys/reboot.h> #include <machine/gdb_machdep.h> @@ -80,7 +81,11 @@ gdb_cur->gdb_init(); printf("GDB: current port: %s\n", gdb_cur->gdb_name); } - return ((gdb_cur != NULL) ? 1 : 0); + if (gdb_cur != NULL) + cur_pri = (boothowto & RB_GDB) ? 2 : 0; + else + cur_pri = -1; + return (cur_pri); } static int ==== //depot/projects/gdb/sys/gdb/gdb_packet.c#3 (text+ko) ==== @@ -31,6 +31,8 @@ #include <sys/systm.h> #include <sys/ctype.h> +#include <machine/gdb_machdep.h> + #include <gdb/gdb.h> #include <gdb/gdb_int.h> ==== //depot/projects/gdb/sys/i386/include/gdb_machdep.h#2 (text+ko) ==== @@ -29,6 +29,8 @@ #ifndef _MACHINE_GDB_MACHDEP_H_ #define _MACHINE_GDB_MACHDEP_H_ +#define GDB_BUFSZ 400 + #define GDB_REG_FP 5 #define GDB_REG_PC 8 #define GDB_REG_SP 4 ==== //depot/projects/gdb/sys/ia64/ia64/gdb_machdep.c#2 (text+ko) ==== @@ -59,6 +59,9 @@ if (sizeof(*r) > bufsz) return (-1); + r->r_special = tf->tf_special; + r->r_scratch = tf->tf_scratch; + bzero(&r->r_preserved, sizeof(r->r_preserved)); return (sizeof(*r)); } ==== //depot/projects/gdb/sys/ia64/include/gdb_machdep.h#2 (text+ko) ==== @@ -29,6 +29,8 @@ #ifndef _MACHINE_GDB_MACHDEP_H_ #define _MACHINE_GDB_MACHDEP_H_ +#define GDB_BUFSZ 4096 + #define GDB_REG_FP 328 #define GDB_REG_PC 331 #define GDB_REG_SP 12
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?200403200907.i2K97meM055808>