You can subscribe to this list here.
| 2002 |
Jan
|
Feb
|
Mar
|
Apr
|
May
(11) |
Jun
(66) |
Jul
(16) |
Aug
(2) |
Sep
(7) |
Oct
(17) |
Nov
(1) |
Dec
(220) |
|---|---|---|---|---|---|---|---|---|---|---|---|---|
| 2003 |
Jan
(154) |
Feb
(167) |
Mar
(159) |
Apr
(172) |
May
(35) |
Jun
(58) |
Jul
(97) |
Aug
(285) |
Sep
(139) |
Oct
(252) |
Nov
(8) |
Dec
(3) |
| 2004 |
Jan
(13) |
Feb
(159) |
Mar
(136) |
Apr
(33) |
May
(50) |
Jun
(42) |
Jul
(140) |
Aug
(42) |
Sep
(199) |
Oct
(31) |
Nov
(55) |
Dec
|
| 2005 |
Jan
|
Feb
(12) |
Mar
(214) |
Apr
(119) |
May
(21) |
Jun
(2) |
Jul
(127) |
Aug
(10) |
Sep
(3) |
Oct
(24) |
Nov
(1) |
Dec
|
| 2006 |
Jan
|
Feb
|
Mar
|
Apr
(45) |
May
(13) |
Jun
|
Jul
|
Aug
|
Sep
|
Oct
(5) |
Nov
(26) |
Dec
|
| 2007 |
Jan
|
Feb
|
Mar
|
Apr
|
May
|
Jun
|
Jul
|
Aug
(35) |
Sep
(1) |
Oct
|
Nov
|
Dec
|
|
From: Jan-Benedict G. <jb...@us...> - 2004-10-04 06:56:30
|
Update of /cvsroot/linux-vax/kernel-2.5/arch/vax/kernel In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv14762/arch/vax/kernel Modified Files: cpu_ka49.c Log Message: - Fix typo. Index: cpu_ka49.c =================================================================== RCS file: /cvsroot/linux-vax/kernel-2.5/arch/vax/kernel/cpu_ka49.c,v retrieving revision 1.3 retrieving revision 1.4 diff -u -d -r1.3 -r1.4 --- cpu_ka49.c 4 Oct 2004 06:48:31 -0000 1.3 +++ cpu_ka49.c 4 Oct 2004 06:56:10 -0000 1.4 @@ -137,7 +137,7 @@ .init_devices = ka49_init_devices, .cpu_type_str = ka49_cpu_type_str, .clock_init = ka4x_clock_init, - .nicr_required = 1; + .nicr_required = 1, }; static struct cpu_match __CPU_MATCH cpumatch_ka49 = { |
|
From: Jan-Benedict G. <jb...@us...> - 2004-10-04 06:55:50
|
Update of /cvsroot/linux-vax/kernel-2.5/arch/vax/kernel In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv14557 Modified Files: early_printk.c Log Message: - Don't disable early console if machine vector says it's still needed. Index: early_printk.c =================================================================== RCS file: /cvsroot/linux-vax/kernel-2.5/arch/vax/kernel/early_printk.c,v retrieving revision 1.3 retrieving revision 1.4 diff -u -d -r1.3 -r1.4 --- early_printk.c 24 May 2004 20:31:27 -0000 1.3 +++ early_printk.c 4 Oct 2004 06:55:26 -0000 1.4 @@ -14,9 +14,9 @@ #include <linux/init.h> #include <asm/mv.h> -static int __initdata early_console_enabled; +static int early_console_enabled; -static void __init early_console_write(struct console *cons, const char *p, +static void early_console_write(struct console *cons, const char *p, unsigned int len) { while (len--) { @@ -27,7 +27,7 @@ } } -struct console __initdata early_console = { +struct console early_console = { .name = "VAXcons", .write = early_console_write, .flags = CON_PRINTBUFFER, @@ -48,9 +48,14 @@ void __init disable_early_printk(void) { if (early_console_enabled) { - printk("Disabling early console\n"); - unregister_console(&early_console); - early_console_enabled = 0; + if (mv->keep_early_console) + printk (KERN_WARN "Not disabling early console " + "because it's still needed!\n"); + else { + printk (KERN_INFO "Disabling early console\n"); + unregister_console(&early_console); + early_console_enabled = 0; + } } } |
|
From: Jan-Benedict G. <jb...@us...> - 2004-10-04 06:52:01
|
Update of /cvsroot/linux-vax/kernel-2.5/arch/vax/kernel In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv14012 Modified Files: cpu_vxt.c Log Message: - VXT2000+ doesn't yet have a real console / serial driver, so keep early console until it dies (because of not-yet-working network driver for NFS-Root). Index: cpu_vxt.c =================================================================== RCS file: /cvsroot/linux-vax/kernel-2.5/arch/vax/kernel/cpu_vxt.c,v retrieving revision 1.17 retrieving revision 1.18 diff -u -d -r1.17 -r1.18 --- cpu_vxt.c 3 Oct 2004 11:32:30 -0000 1.17 +++ cpu_vxt.c 4 Oct 2004 06:51:50 -0000 1.18 @@ -46,6 +46,7 @@ .post_vm_getchar = vxt2694_getchar, .cpu_type_str = vxt_cpu_type_str, .clock_init = generic_clock_init, + .keep_early_console = 1, }; static struct cpu_match __CPU_MATCH cpu_vxt = { |
|
From: Jan-Benedict G. <jb...@us...> - 2004-10-04 06:50:48
|
Update of /cvsroot/linux-vax/kernel-2.5/arch/vax/kernel In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv13888 Modified Files: time.c Log Message: - Set a NICR value, but only if requested. Index: time.c =================================================================== RCS file: /cvsroot/linux-vax/kernel-2.5/arch/vax/kernel/time.c,v retrieving revision 1.17 retrieving revision 1.18 diff -u -d -r1.17 -r1.18 --- time.c 30 Sep 2004 20:50:50 -0000 1.17 +++ time.c 4 Oct 2004 06:50:31 -0000 1.18 @@ -29,6 +29,7 @@ #include <asm/irq.h> #include <asm/mtpr.h> #include <asm/clock.h> +#include <asm/mv.h> #include <linux/mc146818rtc.h> u64 jiffies_64; @@ -72,7 +73,8 @@ * overflow while this value is incremented at a 1µs interval) * to get more than one interrupt per hour:-) */ - __mtpr (0xffffffff - 1000000/HZ, PR_NICR); + if (mv->nicr_required) + __mtpr(0xffffffff - 1000000/HZ, PR_NICR); /* Set the clock ticking and enable clock interrupts */ __mtpr(ICCS_ERROR | ICCS_INTERRUPT | /* clear error and interrupt bits */ |
|
From: Jan-Benedict G. <jb...@us...> - 2004-10-04 06:48:45
|
Update of /cvsroot/linux-vax/kernel-2.5/arch/vax/kernel In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv13593 Modified Files: cpu_ka49.c Log Message: - PR_NICR needs to be set on KA49 to get useful interrupts. Index: cpu_ka49.c =================================================================== RCS file: /cvsroot/linux-vax/kernel-2.5/arch/vax/kernel/cpu_ka49.c,v retrieving revision 1.2 retrieving revision 1.3 diff -u -d -r1.2 -r1.3 --- cpu_ka49.c 2 Oct 2004 11:42:46 -0000 1.2 +++ cpu_ka49.c 4 Oct 2004 06:48:31 -0000 1.3 @@ -137,6 +137,7 @@ .init_devices = ka49_init_devices, .cpu_type_str = ka49_cpu_type_str, .clock_init = ka4x_clock_init, + .nicr_required = 1; }; static struct cpu_match __CPU_MATCH cpumatch_ka49 = { |
|
From: Jan-Benedict G. <jb...@us...> - 2004-10-04 06:46:35
|
Update of /cvsroot/linux-vax/kernel-2.5/include/asm-vax In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv12909 Modified Files: mv.h Log Message: - Add two flags to the machine vector: - nicr_required: Needs to be set if the CPU doesn't automagically provide interrupts at 100Hz - keep_early_console: Don't disable early console because there's not yet a real console driver. - I've not (yet) added a flag for "NICR value ignored", because I'm not sure if those machines who don't *require* an initial NICR setting would actually ignore a setting. I'll test that with the machines I've got around at some time. - Maybe we'd introduce a TODO file for things like this to not forget it at some time... Index: mv.h =================================================================== RCS file: /cvsroot/linux-vax/kernel-2.5/include/asm-vax/mv.h,v retrieving revision 1.29 retrieving revision 1.30 diff -u -d -r1.29 -r1.30 --- mv.h 2 Oct 2004 11:42:47 -0000 1.29 +++ mv.h 4 Oct 2004 06:46:21 -0000 1.30 @@ -44,6 +44,14 @@ unsigned int *clock_base; /* Address of clock page for vsbus RTC */ unsigned int sidex; /* If not available, it's set to 0 */ + + /* Flags for very CPU-specific features */ + unsigned long nicr_required:1; /* A value needs to be written to + PR_NICR to get overrun (aka timer) + interrupts */ + unsigned long keep_early_console:1; /* Don't disable early console as + requested, because there's not + yet a real console driver */ }; #endif /* !__ASSEMBLY__ */ |
|
From: Jan-Benedict G. <jb...@us...> - 2004-10-03 11:32:41
|
Update of /cvsroot/linux-vax/kernel-2.5/arch/vax/kernel In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv1457/arch/vax/kernel Modified Files: cpu_vxt.c Log Message: - With two hacks (commented out NICR setting and not disabling early console upon request) this boots to the point where it tries to get NFS-Root access. However, the network driver isn't done yet, so no network, no root, panic. Index: cpu_vxt.c =================================================================== RCS file: /cvsroot/linux-vax/kernel-2.5/arch/vax/kernel/cpu_vxt.c,v retrieving revision 1.16 retrieving revision 1.17 diff -u -d -r1.16 -r1.17 --- cpu_vxt.c 2 Oct 2004 18:45:54 -0000 1.16 +++ cpu_vxt.c 3 Oct 2004 11:32:30 -0000 1.17 @@ -13,6 +13,7 @@ #include <linux/types.h> /* For NULL */ #include <linux/kernel.h> /* For printk */ +#include <linux/device.h> #include <asm/mtpr.h> #include <asm/mv.h> #include <asm/vaxcpu.h> @@ -30,7 +31,10 @@ static const char *vxt_cpu_type_str(void) { - return "VXT2000"; + if (mv->sidex == 0x08050002 /* FIXME */) + return "VXT2000+"; + else + return "probably VXT2000"; } struct vax_mv mv_vxt = { @@ -55,3 +59,18 @@ .sidex_match = SOC_SIDEX_TYPE_VXT << SOC_SIDEX_TYPE_SHIFT }; +static struct platform_device vxt_diag_led_device = { + .name = "diag_led" +}; + +static int __init vxt_platform_device_init (void) +{ + if (!is_vxt ()) + return -ENODEV; + + platform_device_register (&vxt_diag_led_device); + + return 0; +} +arch_initcall (vxt_platform_device_init); + |
|
From: Jan-Benedict G. <jb...@us...> - 2004-10-03 11:30:40
|
Update of /cvsroot/linux-vax/kernel-2.5/arch/vax/kernel In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv1144/arch/vax/kernel Modified Files: diag_led.c Log Message: - Add support for the VXT2000+ - I think the long "detection" function is ugly. Is there a way to pass the I/O address down (as it is done with the vsbus devices)? Index: diag_led.c =================================================================== RCS file: /cvsroot/linux-vax/kernel-2.5/arch/vax/kernel/diag_led.c,v retrieving revision 1.8 retrieving revision 1.9 diff -u -d -r1.8 -r1.9 --- diag_led.c 30 Sep 2004 09:05:20 -0000 1.8 +++ diag_led.c 3 Oct 2004 11:30:28 -0000 1.9 @@ -53,6 +53,10 @@ inverted = 1; return DIAG_LED_KA49_BASE; } + if (is_vxt ()) { + inverted = 1; + return DIAG_LED_VXT_BASE; + } printk (KERN_ERR "No base address known for your machine yet!\n"); return 0; |
|
From: Jan-Benedict G. <jb...@us...> - 2004-10-03 11:22:01
|
Update of /cvsroot/linux-vax/kernel-2.5/include/asm-vax In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv24204/include/asm-vax Modified Files: diag_led.h Log Message: - LED support for my VXT2000+ is coming right now:-) - Thanks to http://solar.physics.montana.edu/hypermail/linux-vax/1533.html Index: diag_led.h =================================================================== RCS file: /cvsroot/linux-vax/kernel-2.5/include/asm-vax/diag_led.h,v retrieving revision 1.4 retrieving revision 1.5 diff -u -d -r1.4 -r1.5 --- diag_led.h 30 Sep 2004 06:48:54 -0000 1.4 +++ diag_led.h 3 Oct 2004 11:21:47 -0000 1.5 @@ -22,6 +22,7 @@ #define DIAG_LED_KA42_BASE 0x20080010 #define DIAG_LED_KA48_BASE 0x20080010 #define DIAG_LED_KA49_BASE 0x25800004 +#define DIAG_LED_VXT_BASE 0x200c1000 extern int diag_led_set_state (unsigned char state); extern unsigned char diag_led_get_state (void); |
|
From: Jan-Benedict G. <jb...@us...> - 2004-10-02 18:47:15
|
Update of /cvsroot/linux-vax/kernel-2.5/arch/vax/kernel In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv29750 Modified Files: cpu_vxt.c Log Message: - getchar isn't putchar - mvm isn't cpumatch - /me isn't I Index: cpu_vxt.c =================================================================== RCS file: /cvsroot/linux-vax/kernel-2.5/arch/vax/kernel/cpu_vxt.c,v retrieving revision 1.15 retrieving revision 1.16 diff -u -d -r1.15 -r1.16 --- cpu_vxt.c 2 Oct 2004 18:37:31 -0000 1.15 +++ cpu_vxt.c 2 Oct 2004 18:45:54 -0000 1.16 @@ -39,12 +39,12 @@ .pre_vm_putchar = ka4x_prom_putchar, .pre_vm_getchar = ka4x_prom_getchar, .post_vm_putchar = vxt2694_putchar, - .post_vm_getchar = vxt2694_putchar, + .post_vm_getchar = vxt2694_getchar, .cpu_type_str = vxt_cpu_type_str, .clock_init = generic_clock_init, }; -static struct machvec_match __CPU_MATCH mvm_vxt = { +static struct cpu_match __CPU_MATCH cpu_vxt = { .mv = &mv_vxt, .sid_mask = VAX_SID_FAMILY_MASK, .sid_match = VAX_SOC << VAX_SID_FAMILY_SHIFT, |
|
From: Jan-Benedict G. <jb...@us...> - 2004-10-02 18:40:40
|
Update of /cvsroot/linux-vax/kernel-2.5/arch/vax/kernel In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv27872 Modified Files: cpu_vxt.c Log Message: - Clean-up cpu_vxt.c a bit. - My machine now boots like this: --------------------------------------------------------------------- CPU type: VXT2000 SID: 0x14000006 SIDEX: 0x08050002 Boot Head.S loaded at address 0x0000F400 rpb/bootr5/ap/sp 0x00000000 0x00000100 0x00009918 0x0000F200 relocated at phys address 0x00100283 Starting VM Hello you!IO mapped phys addr 0x200a0000, 0x0001 pages at virt 0x80de100) Early console enabled Linux/VAX (lin...@mi...) RPB info: .l_pfncnt=0x00006f05, .l_vmb_version=0x0a00020c, .l_badpgs=0x00 Physical memory: 0x00006f05 HW pagelets, 0x00000de0 pages (14210KB) CPU type: VXT2000, SID: 0x14000006, SIDEX: 0x08050002 VM: mapped physical from 0x80000000 to 0x80de0a00, iomap from 80de1000 VM: vmalloc from 0x81de1000 to 0x821e1000 VM: ptemap from 0x821e2000 to 0x844e2000 for 64 processes calling start_kernel... Linux version 2.6.8.1 (jbglaw@d2) (gcc version 2.95.2 19991024 (release)4 kernel_cmd_line 8000f404 root=/dev/nfs ip=bootp rw debug VAXMM: Initialising mm layer for 64 tasks of size 64MB VAXMM: system page table base 802e9e00, length (bytes) 89c40 length (0 bootmap size = 000001bc calling free_bootmem(start=00001000, len=000ff000) calling free_bootmem(start=00374000, len=00a6c000) Built 1 zonelists Kernel command line: root=/dev/nfs ip=bootp rw debug PID hash table entries: 64 (order 6: 512 bytes) --------------------------------------------------------------------- ...and here it hangs. Index: cpu_vxt.c =================================================================== RCS file: /cvsroot/linux-vax/kernel-2.5/arch/vax/kernel/cpu_vxt.c,v retrieving revision 1.14 retrieving revision 1.15 diff -u -d -r1.14 -r1.15 --- cpu_vxt.c 2 Oct 2004 00:03:14 -0000 1.14 +++ cpu_vxt.c 2 Oct 2004 18:37:31 -0000 1.15 @@ -21,19 +21,11 @@ static void vxt_pre_vm_init(void) { - mv_vxt.sidex = *(unsigned int *)SOC_SIDEX_ADDR; } static void vxt_post_vm_init(void) { -#if 0 -#ifdef CONFIG_DZ - init_dz11_console(0x200A0000, 3); - dz_serial_console_init(); -#endif -#endif init_vxt2694_console (0x200a0000); - //register_console (&vax_console); } static const char *vxt_cpu_type_str(void) @@ -46,15 +38,12 @@ .post_vm_init = vxt_post_vm_init, .pre_vm_putchar = ka4x_prom_putchar, .pre_vm_getchar = ka4x_prom_getchar, - //.post_vm_putchar = dz11_putchar, .post_vm_putchar = vxt2694_putchar, - //.post_vm_getchar = dz11_getchar, .post_vm_getchar = vxt2694_putchar, .cpu_type_str = vxt_cpu_type_str, .clock_init = generic_clock_init, }; -#ifdef USE_NEW_VECTORS static struct machvec_match __CPU_MATCH mvm_vxt = { .mv = &mv_vxt, .sid_mask = VAX_SID_FAMILY_MASK, @@ -65,5 +54,4 @@ .sidex_mask = SOC_SIDEX_TYPE_MASK, .sidex_match = SOC_SIDEX_TYPE_VXT << SOC_SIDEX_TYPE_SHIFT }; -#endif /* USE_NEW_VECTORS */ |
|
From: Jan-Benedict G. <jb...@us...> - 2004-10-02 18:40:11
|
Update of /cvsroot/linux-vax/kernel-2.5/arch/vax/kernel In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv28241 Modified Files: cpu_generic.c Log Message: - Remove the debug string. Index: cpu_generic.c =================================================================== RCS file: /cvsroot/linux-vax/kernel-2.5/arch/vax/kernel/cpu_generic.c,v retrieving revision 1.12 retrieving revision 1.13 diff -u -d -r1.12 -r1.13 --- cpu_generic.c 30 Sep 2004 21:13:03 -0000 1.12 +++ cpu_generic.c 2 Oct 2004 18:38:37 -0000 1.13 @@ -196,15 +196,11 @@ void init_vxt2694_console (unsigned long phys_addr) { - char *teststring = "Hello you!"; - int i; - if (vxt2694_addr) return; - vxt2694_addr = ioremap (phys_addr, 256); - for (i = 0; i < strlen (teststring); i++) - vxt2694_putchar (teststring[i]); + vxt2694_addr = ioremap (phys_addr, 256); + return; } #endif /* CONFIG_CPU_VXT */ |
|
From: Kenn H. <ke...@us...> - 2004-10-02 11:43:06
|
Update of /cvsroot/linux-vax/kernel-2.5/arch/vax/boot In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv11843/arch/vax/boot Modified Files: cpu_sel.c Log Message: Switch over to new-style CPU identification. Rename the "machine vector match" stuff to "CPU match". Index: cpu_sel.c =================================================================== RCS file: /cvsroot/linux-vax/kernel-2.5/arch/vax/boot/cpu_sel.c,v retrieving revision 1.13 retrieving revision 1.14 diff -u -d -r1.13 -r1.14 --- cpu_sel.c 30 Sep 2004 08:26:55 -0000 1.13 +++ cpu_sel.c 2 Oct 2004 11:42:46 -0000 1.14 @@ -9,9 +9,6 @@ #include <asm/mv.h> /* machine vector definitions */ #include <linux/mm.h> /* for PAGE_OFFSET and KERNEL_START_PHYS */ #include <asm/system.h> /* for HALT */ -#include <asm/vaxcpu.h> /* CPU type definitions */ - -#ifdef USE_NEW_VECTORS /* * Given a virtual address in the final kernel image (i.e. an S0 @@ -31,37 +28,37 @@ { unsigned long sid; unsigned long sidex; - struct machvec_match *mvm; + struct cpu_match *match; unsigned int i; unsigned int num_matches; struct vax_mv *retmv; - extern struct machvec_match __init_vecmatch_start, __init_vecmatch_end; + extern struct cpu_match __init_cpumatch_start, __init_cpumatch_end; sid = __mfpr (PR_SID); - num_matches = &__init_vecmatch_end - &__init_vecmatch_start; + num_matches = &__init_cpumatch_end - &__init_cpumatch_start; for (i = 0; i < num_matches; i++) { - mvm = &__init_vecmatch_start + i; + match = &__init_cpumatch_start + i; - if ((sid & mvm->sid_mask) == mvm->sid_match) { + if ((sid & match->sid_mask) == match->sid_match) { /* * No sidex known? Accept the vector. * FIXME: Maybe sort the metch structs to have * those with "long" masks first, then the loose * entries with weaker/shorter masks */ - if (!mvm->sidex_addr) - return s0vmaddr_to_load_addr(mvm->mv); + if (!match->sidex_addr) + return s0vmaddr_to_load_addr(match->mv); /* * If a SIDEX match was supplied, too, check it! */ - sidex = * ((unsigned long *) mvm->sidex_addr); - if ((sidex & mvm->sidex_mask) == mvm->sidex_match) { - retmv = s0vmaddr_to_load_addr(mvm->mv); + sidex = * ((unsigned long *) match->sidex_addr); + if ((sidex & match->sidex_mask) == match->sidex_match) { + retmv = s0vmaddr_to_load_addr(match->mv); retmv->sidex = sidex; return retmv; } @@ -79,274 +76,3 @@ return NULL; } -#else /* USE_NEW_VECTORS */ - -static struct vax_mv *idcpu_uvax2(unsigned int sid) -{ - unsigned int subtype; - - subtype = (sid & UVAX2_SID_SUBTYPE_MASK) >> UVAX2_SID_SUBTYPE_SHIFT; - - switch (subtype) { -#ifdef CONFIG_CPU_KA630 - case UVAX2_SID_SUBTYPE_KA630: - case UVAX2_SID_SUBTYPE_CHARON: - return &mv_ka630; -#endif - -#ifdef CONFIG_CPU_KA410 - case UVAX2_SID_SUBTYPE_KA410: - return &mv_ka410; -#endif - - default: - /* - * Unsupported MicroVAX II CPU - Type E/I PR$_SID - * at console to get SID value and report to - * <lin...@mi...>. - */ - HALT; - } - - return NULL; -} - -static struct vax_mv *idcpu_cvax_qbus(unsigned int sidex) -{ - unsigned int subtype; - - subtype = (sidex & CVAX_Q22_SUBTYPE_MASK) >> CVAX_Q22_SUBTYPE_SHIFT; - - /* - * There are 3 different Q22 CVAX implementations, we only support - * the KA650 and KA655 at the moment. The KA640 should be fairly - * similar, since all three have the same firmware. - */ - switch (subtype) { -#ifdef CONFIG_CPU_KA650 - case CVAX_Q22_SUBTYPE_KA650: - case CVAX_Q22_SUBTYPE_KA655: - return &mv_ka650; -#endif - -#ifdef CONFIG_CPU_KA640 - case CVAX_Q22_SUBTYPE_KA640: - return &mv_ka640; -#endif - - default: - /* - * Unsupported QBUS CVAX CPU - Type E/P/L 20040004 - * at console to get SIDEX value and report to - * <lin...@mi...>. - */ - HALT; - } - - return NULL; -} - -static struct vax_mv *idcpu_cvax_vs3100(unsigned int sidex) -{ - /* - * We don't know how to interpret the SIDEX in this case, but the - * only CPU we know of that will match this far is the KA42 (as - * used in VS3100/m38) - */ - -#ifdef CONFIG_CPU_KA42 - return &mv_ka42; -#else - HALT; - return NULL; -#endif -} - -static struct vax_mv *idcpu_cvax(void) -{ - unsigned int sidex; - unsigned int type; - - sidex = *(long *)CVAX_SIDEX_ADDR; - type = (sidex & CVAX_SIDEX_TYPE_MASK) >> CVAX_SIDEX_TYPE_SHIFT; - - switch (type) { - case CVAX_SIDEX_TYPE_Q22: - return idcpu_cvax_qbus(sidex); - - case CVAX_SIDEX_TYPE_VS3100: - return idcpu_cvax_vs3100(sidex); - - default: - /* - * Unsupported CVAX CPU - Type E/P/L 20040004 at - * console to get SIDEX value and report to - * <lin...@mi...>. - */ - HALT; - } - - return NULL; -} - -static struct vax_mv *idcpu_soc_qbus(unsigned int sidex) -{ - unsigned int subtype; - - subtype = (sidex & SOC_Q22_SUBTYPE_MASK) >> SOC_Q22_SUBTYPE_SHIFT; - - switch (subtype) { - -#ifdef CONFIG_CPU_KA660 - case SOC_Q22_SUBTYPE_KA660: - return &mv_ka660; -#endif - - default: - /* - * Unsupported QBUS SOC CPU - Type E/P/L 20040004 - * at console to get SIDEX value and report to - * <lin...@mi...>. - */ - HALT; - } - - return NULL; -} - -static struct vax_mv *idcpu_soc(void) -{ - unsigned int sidex; - unsigned int type; - - sidex = *(long *)SOC_SIDEX_ADDR; - type = (sidex & SOC_SIDEX_TYPE_MASK) >> SOC_SIDEX_TYPE_SHIFT; - - switch (type) { - case SOC_SIDEX_TYPE_Q22: - return idcpu_soc_qbus(sidex); - -#ifdef CONFIG_CPU_VXT - case SOC_SIDEX_TYPE_VXT: - return &mv_vxt; -#endif - -#ifdef CONFIG_CPU_KA48 - case SOC_SIDEX_TYPE_KA48: - return &mv_ka48; -#endif - - default: - /* - * Unsupported SOC CPU - Type E/P/L 20040004 at - * console to get SIDEX value and report to - * <lin...@mi...>. - */ - HALT; - } - - return NULL; -} - -static struct vax_mv *idcpu_rigel(void) -{ - /* - * We don't know how to interpret the SIDEX in this case, but the - * only CPU we know of that will match this far is the KA43 (as - * used in VS3100/m76). - */ - -#ifdef CONFIG_CPU_KA43 - return &mv_ka43; -#else - HALT; - return NULL; -#endif -} - -static struct vax_mv *idcpu_mariah(void) -{ - /* - * We don't know how to interpret the SIDEX in this case, but the - * only CPU we know of that will match this far is the KA46 (as - * used in VS4000/m60). - */ - -#ifdef CONFIG_CPU_KA46 - return &mv_ka46; -#else - HALT; - return NULL; -#endif -} - -static struct vax_mv *idcpu_nvax(void) -{ - /* - * We don't know how to interpret the SIDEX in this case, but the - * only CPU we know of that will match this far is the KA55 (as - * used in MicroVAX 3100m85). - */ - -#ifdef CONFIG_CPU_KA55 - return &mv_ka55; -#else - HALT; - return NULL; -#endif -} - -struct vax_mv *idcpu(void) -{ - unsigned int sid; - unsigned int family; - - /* - * First get SID processor register. VARM says all CPUs must - * implement this! - */ - sid = __mfpr(PR_SID); - - /* - * CPU family is high byte of SID, remaining subtype - * is family-specific. - */ - family = (sid & VAX_SID_FAMILY_MASK) >> VAX_SID_FAMILY_SHIFT; - - switch (family) { - case VAX_CVAX: - return idcpu_cvax(); - - case VAX_RIGEL: - return idcpu_rigel(); - - case VAX_MARIAH: - return idcpu_mariah(); - - case VAX_NVAX: - return idcpu_nvax(); - - case VAX_SOC: - return idcpu_soc(); - - case VAX_UVAX2: - return idcpu_uvax2(sid); - - case VAX_780: - case VAX_750: - case VAX_730: - case VAX_8600: - case VAX_UVAX1: - default: - /* - * Unsupported CPU family - Type E/I PR$_SID at - * console to get SID register value and report to - * <lin...@mi...>. - */ - HALT; - } - - return NULL; -} -#endif - |
|
From: Kenn H. <ke...@us...> - 2004-10-02 11:42:58
|
Update of /cvsroot/linux-vax/kernel-2.5/arch/vax/kernel In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv11843/arch/vax/kernel Modified Files: cpu_ka410.c cpu_ka42.c cpu_ka43.c cpu_ka46.c cpu_ka48.c cpu_ka49.c cpu_ka55.c cpu_ka630.c cpu_ka640.c cpu_ka650.c cpu_ka660.c vmlinux.lds.S Log Message: Switch over to new-style CPU identification. Rename the "machine vector match" stuff to "CPU match". Index: cpu_ka46.c =================================================================== RCS file: /cvsroot/linux-vax/kernel-2.5/arch/vax/kernel/cpu_ka46.c,v retrieving revision 1.21 retrieving revision 1.22 diff -u -d -r1.21 -r1.22 --- cpu_ka46.c 2 Oct 2004 00:03:14 -0000 1.21 +++ cpu_ka46.c 2 Oct 2004 11:42:46 -0000 1.22 @@ -81,10 +81,6 @@ ka46_cache_clear(); ka46_cache_enable(); -#ifndef USE_NEW_VECTORS - mv_ka46.sidex = *(unsigned int *)RIGEL_SIDEX_ADDR; -#endif - __mtpr(PR_ACCS, 2); /* Enable floating points */ } @@ -139,8 +135,7 @@ .clock_init = ka4x_clock_init, }; -#ifdef USE_NEW_VECTORS -static struct machvec_match __CPU_MATCH mvm_ka46 = { +static struct cpu_match __CPU_MATCH cpumatch_ka46 = { .mv = &mv_ka46, .sid_mask = VAX_SID_FAMILY_MASK, .sid_match = VAX_MARIAH << VAX_SID_FAMILY_SHIFT, @@ -148,7 +143,6 @@ .sidex_mask = 0x00000000, .sidex_match = 0x00000000, }; -#endif /* USE_NEW_VECTORS */ static struct platform_device ka46_vsbus_device = { .name = "ka4x-vsbus" Index: cpu_ka49.c =================================================================== RCS file: /cvsroot/linux-vax/kernel-2.5/arch/vax/kernel/cpu_ka49.c,v retrieving revision 1.1 retrieving revision 1.2 diff -u -d -r1.1 -r1.2 --- cpu_ka49.c 30 Sep 2004 21:05:45 -0000 1.1 +++ cpu_ka49.c 2 Oct 2004 11:42:46 -0000 1.2 @@ -123,21 +123,12 @@ return "KA49"; } -static void ka49_pre_vm_init(void) -{ -#ifndef USE_NEW_VECTORS - mv_ka49.sidex = * (unsigned int *) NVAX_SIDEX_ADDR; -#endif - // KA46: __mtpr(PR_ACCS, 2); /* Enable floating points */ -} - static void ka49_init_devices(void) { printk ("ka49: init_devices\n"); } struct vax_mv mv_ka49 = { - .pre_vm_init = ka49_pre_vm_init, .post_vm_init = ka49_post_vm_init, .pre_vm_putchar = ka46_48_49_prom_putchar, .pre_vm_getchar = ka46_48_49_prom_getchar, @@ -148,8 +139,7 @@ .clock_init = ka4x_clock_init, }; -#ifdef USE_NEW_VECTORS -static struct machvec_match __CPU_MATCH mvm_ka49 = { +static struct cpu_match __CPU_MATCH cpumatch_ka49 = { .mv = &mv_ka49, .sid_mask = VAX_SID_FAMILY_MASK, .sid_match = VAX_NVAX << VAX_SID_FAMILY_SHIFT, @@ -158,7 +148,6 @@ SID + SIDEX, so keep it tight */ .sidex_match = 0x02000104, }; -#endif /* USE_NEW_VECTORS */ static struct platform_device ka49_vsbus_device = { .name = "ka4x-vsbus" Index: cpu_ka42.c =================================================================== RCS file: /cvsroot/linux-vax/kernel-2.5/arch/vax/kernel/cpu_ka42.c,v retrieving revision 1.16 retrieving revision 1.17 diff -u -d -r1.16 -r1.17 --- cpu_ka42.c 2 Oct 2004 00:03:14 -0000 1.16 +++ cpu_ka42.c 2 Oct 2004 11:42:46 -0000 1.17 @@ -20,11 +20,6 @@ #include <asm/clock.h> /* For clock_init routines */ #include <asm/bus/vsbus.h> -static void ka42_pre_vm_init(void) -{ - mv_ka42.sidex = *(unsigned int *)CVAX_SIDEX_ADDR; -} - static void ka42_post_vm_init(void) { #define KA42_CADR_S2E 0x80 @@ -45,7 +40,6 @@ } struct vax_mv mv_ka42 = { - .pre_vm_init = ka42_pre_vm_init, .post_vm_init = ka42_post_vm_init, .pre_vm_putchar = ka4x_prom_putchar, .pre_vm_getchar = ka4x_prom_getchar, @@ -55,8 +49,7 @@ .clock_init = ka4x_clock_init, }; -#ifdef USE_NEW_VECTORS -static struct machvec_match __CPU_MATCH mvm_ka42 = { +static struct cpu_match __CPU_MATCH cpu_match_ka42 = { .mv = &mv_ka42, .sid_mask = VAX_SID_FAMILY_MASK, .sid_match = VAX_CVAX << VAX_SID_FAMILY_SHIFT, @@ -65,7 +58,6 @@ .sidex_mask = CVAX_SIDEX_TYPE_MASK, .sidex_match = CVAX_SIDEX_TYPE_VS3100 << CVAX_SIDEX_TYPE_SHIFT, }; -#endif /* USE_NEW_VECTORS */ static struct platform_device ka42_vsbus_device = { .name = "ka4x-vsbus" Index: cpu_ka410.c =================================================================== RCS file: /cvsroot/linux-vax/kernel-2.5/arch/vax/kernel/cpu_ka410.c,v retrieving revision 1.12 retrieving revision 1.13 diff -u -d -r1.12 -r1.13 --- cpu_ka410.c 2 Oct 2004 00:03:14 -0000 1.12 +++ cpu_ka410.c 2 Oct 2004 11:42:46 -0000 1.13 @@ -40,8 +40,7 @@ .clock_init = ka4x_clock_init, }; -#ifdef USE_NEW_VECTORS -static struct machvec_match __CPU_MATCH mvm_ka410 = { +static struct cpu_match __CPU_MATCH cpumatch_ka410 = { .mv = &mv_ka410, .sid_mask = VAX_SID_FAMILY_MASK | UVAX2_SID_SUBTYPE_MASK, .sid_match = (VAX_UVAX2 << VAX_SID_FAMILY_SHIFT) | @@ -50,5 +49,4 @@ .sidex_mask = 0x00000000, .sidex_match = 0x00000000, }; -#endif /* USE_NEW_VECTORS */ Index: cpu_ka640.c =================================================================== RCS file: /cvsroot/linux-vax/kernel-2.5/arch/vax/kernel/cpu_ka640.c,v retrieving revision 1.10 retrieving revision 1.11 diff -u -d -r1.10 -r1.11 --- cpu_ka640.c 2 Oct 2004 00:03:14 -0000 1.10 +++ cpu_ka640.c 2 Oct 2004 11:42:47 -0000 1.11 @@ -19,7 +19,6 @@ static void ka640_pre_vm_init(void) { - mv_ka640.sidex = *(unsigned int *)CVAX_SIDEX_ADDR; __mtpr(0, PR_CADR); } @@ -35,8 +34,6 @@ * the level 1 cache */ __mtpr(KA640_CADR_S2E|KA640_CADR_S1E|KA640_CADR_ISE|KA640_CADR_DSE, PR_CADR); - - printk("KA640 sidex = %08x\n", mv_ka640.sidex); } static const char *ka640_cpu_type_str(void) @@ -55,8 +52,7 @@ .clock_init = generic_clock_init, }; -#ifdef USE_NEW_VECTORS -static struct machvec_match __CPU_MATCH mvm_ka640 = { +static struct cpu_match __CPU_MATCH cpumatch_ka640 = { .mv = &mv_ka640, .sid_mask = VAX_SID_FAMILY_MASK, .sid_match = VAX_CVAX << VAX_SID_FAMILY_SHIFT, @@ -67,5 +63,4 @@ .sidex_match = (CVAX_SIDEX_TYPE_Q22 << CVAX_SIDEX_TYPE_SHIFT) | (CVAX_Q22_SUBTYPE_KA640 << CVAX_Q22_SUBTYPE_SHIFT), }; -#endif /* USE_NEW_VECTORS */ Index: cpu_ka48.c =================================================================== RCS file: /cvsroot/linux-vax/kernel-2.5/arch/vax/kernel/cpu_ka48.c,v retrieving revision 1.7 retrieving revision 1.8 diff -u -d -r1.7 -r1.8 --- cpu_ka48.c 2 Oct 2004 00:03:14 -0000 1.7 +++ cpu_ka48.c 2 Oct 2004 11:42:46 -0000 1.8 @@ -75,7 +75,6 @@ ka48_cache_disable(); ka48_cache_clear(); ka48_cache_enable(); - mv_ka48.sidex = *(unsigned int *)SOC_SIDEX_ADDR; __mtpr(PR_ACCS, 2); /* Enable floating points */ } @@ -130,8 +129,7 @@ .clock_init = ka4x_clock_init, }; -#ifdef USE_NEW_VECTORS -static struct machvec_match __CPU_MATCH mvm_ka48 = { +static struct cpu_match __CPU_MATCH cpumatch_ka48 = { .mv = &mv_ka48, .sid_mask = VAX_SID_FAMILY_MASK, .sid_match = VAX_SOC << VAX_SID_FAMILY_SHIFT, @@ -139,7 +137,6 @@ .sidex_mask = SOC_SIDEX_TYPE_MASK, .sidex_match = SOC_SIDEX_TYPE_KA48 << SOC_SIDEX_TYPE_SHIFT, }; -#endif /* USE_NEW_VECTORS */ static struct platform_device ka48_vsbus_device = { .name = "ka4x-vsbus" Index: cpu_ka650.c =================================================================== RCS file: /cvsroot/linux-vax/kernel-2.5/arch/vax/kernel/cpu_ka650.c,v retrieving revision 1.14 retrieving revision 1.15 diff -u -d -r1.14 -r1.15 --- cpu_ka650.c 30 Sep 2004 11:52:32 -0000 1.14 +++ cpu_ka650.c 2 Oct 2004 11:42:47 -0000 1.15 @@ -22,9 +22,6 @@ static void ka650_pre_vm_init(void) { -#ifndef USE_NEW_VECTORS - mv_ka650.sidex = *(unsigned int *)CVAX_SIDEX_ADDR; -#endif /* * Disable the level 1 and level 2 caches. My docs say that the * caches are disabled automatically at power up and when DCOK @@ -63,7 +60,6 @@ * the level 1 cache. */ __mtpr(KA650_CADR_S2E|KA650_CADR_S1E|KA650_CADR_ISE|KA650_CADR_DSE, PR_CADR); - printk("KA650 sidex = %08x\n", mv_ka650.sidex); } static const char *ka650_cpu_type_str(void) @@ -82,8 +78,7 @@ .clock_init = generic_clock_init, }; -#ifdef USE_NEW_VECTORS -static struct machvec_match __CPU_MATCH mvm_ka650 = { +static struct cpu_match __CPU_MATCH cpumatch_ka650 = { .mv = &mv_ka650, .sid_mask = VAX_SID_FAMILY_MASK, .sid_match = VAX_CVAX << VAX_SID_FAMILY_SHIFT, @@ -95,7 +90,7 @@ (CVAX_Q22_SUBTYPE_KA650 << CVAX_Q22_SUBTYPE_SHIFT), }; -static struct machvec_match __CPU_MATCH mvm_ka655 = { +static struct cpu_match __CPU_MATCH cpumatch_ka655 = { .mv = &mv_ka650, .sid_mask = VAX_SID_FAMILY_MASK, .sid_match = VAX_CVAX << VAX_SID_FAMILY_SHIFT, @@ -106,7 +101,6 @@ .sidex_match = (CVAX_SIDEX_TYPE_Q22 << CVAX_SIDEX_TYPE_SHIFT) | (CVAX_Q22_SUBTYPE_KA655 << CVAX_Q22_SUBTYPE_SHIFT), }; -#endif /* USE_NEW_VECTORS */ static struct platform_device ka650_cqbic_device = { .name = "cqbic" Index: cpu_ka660.c =================================================================== RCS file: /cvsroot/linux-vax/kernel-2.5/arch/vax/kernel/cpu_ka660.c,v retrieving revision 1.10 retrieving revision 1.11 diff -u -d -r1.10 -r1.11 --- cpu_ka660.c 2 Oct 2004 00:03:14 -0000 1.10 +++ cpu_ka660.c 2 Oct 2004 11:42:47 -0000 1.11 @@ -17,18 +17,12 @@ #include <asm/vaxcpu.h> #include <asm/clock.h> /* For clock_init routines */ -static void ka660_pre_vm_init(void) -{ - mv_ka660.sidex = *(unsigned int *)SOC_SIDEX_ADDR; -} - static const char *ka660_cpu_type_str(void) { return "KA660"; } struct vax_mv mv_ka660 = { - .pre_vm_init = ka660_pre_vm_init, .pre_vm_putchar = mtpr_putchar, .pre_vm_getchar = mtpr_getchar, .post_vm_putchar = mtpr_putchar, @@ -37,8 +31,7 @@ .clock_init = generic_clock_init, }; -#ifdef USE_NEW_VECTORS -static struct machvec_match __CPU_MATCH mvm_ka660 = { +static struct cpu_match __CPU_MATCH cpumatch_ka660 = { .mv = &mv_ka660, .sid_mask = VAX_SID_FAMILY_MASK, .sid_match = VAX_SOC << VAX_SID_FAMILY_SHIFT, @@ -49,5 +42,4 @@ .sidex_match = (SOC_SIDEX_TYPE_Q22 << SOC_SIDEX_TYPE_SHIFT) | (SOC_Q22_SUBTYPE_KA660 << SOC_Q22_SUBTYPE_SHIFT), }; -#endif /* USE_NEW_VECTORS */ Index: cpu_ka630.c =================================================================== RCS file: /cvsroot/linux-vax/kernel-2.5/arch/vax/kernel/cpu_ka630.c,v retrieving revision 1.11 retrieving revision 1.12 diff -u -d -r1.11 -r1.12 --- cpu_ka630.c 2 Oct 2004 00:03:14 -0000 1.11 +++ cpu_ka630.c 2 Oct 2004 11:42:47 -0000 1.12 @@ -29,8 +29,7 @@ .clock_init = generic_clock_init, }; -#ifdef USE_NEW_VECTORS -static struct machvec_match __CPU_MATCH mvm_ka630 = { +static struct cpu_match __CPU_MATCH cpumatch_ka630 = { .mv = &mv_ka630, .sid_mask = VAX_SID_FAMILY_MASK | UVAX2_SID_SUBTYPE_MASK, .sid_match = (VAX_UVAX2 << VAX_SID_FAMILY_SHIFT) | @@ -40,7 +39,7 @@ .sidex_match = 0x00000000, }; -static struct machvec_match __CPU_MATCH mvm_charon = { +static struct cpu_match __CPU_MATCH cpumatch_charon = { .mv = &mv_ka630, .sid_mask = VAX_SID_FAMILY_MASK | UVAX2_SID_SUBTYPE_MASK, .sid_match = (VAX_UVAX2 << VAX_SID_FAMILY_SHIFT) | @@ -50,5 +49,3 @@ .sidex_match = 0x00000000, }; -#endif /* USE_NEW_VECTORS */ - Index: cpu_ka43.c =================================================================== RCS file: /cvsroot/linux-vax/kernel-2.5/arch/vax/kernel/cpu_ka43.c,v retrieving revision 1.19 retrieving revision 1.20 diff -u -d -r1.19 -r1.20 --- cpu_ka43.c 2 Oct 2004 00:03:14 -0000 1.19 +++ cpu_ka43.c 2 Oct 2004 11:42:46 -0000 1.20 @@ -65,11 +65,6 @@ "undefined data bus state", /* Code 19: Bus error */ }; -static void ka43_pre_vm_init(void) -{ - mv_ka43.sidex = *(unsigned int *)RIGEL_SIDEX_ADDR; -} - static void ka43_cache_disable(volatile unsigned int *creg_addr) { __mtpr(KA43_PCS_REFRESH, PR_PCSTS); /* Disable primary cache */ @@ -225,7 +220,6 @@ } struct vax_mv mv_ka43 = { - .pre_vm_init = ka43_pre_vm_init, .post_vm_init = ka43_post_vm_init, .pre_vm_putchar = ka4x_prom_putchar, .pre_vm_getchar = ka4x_prom_getchar, @@ -236,8 +230,7 @@ .clock_init = ka4x_clock_init, }; -#ifdef USE_NEW_VECTORS -static struct machvec_match __CPU_MATCH mvm_ka43 = { +static struct cpu_match __CPU_MATCH cpumatch_ka43 = { .mv = &mv_ka43, .sid_mask = VAX_SID_FAMILY_MASK, .sid_match = VAX_RIGEL << VAX_SID_FAMILY_SHIFT, @@ -245,7 +238,6 @@ .sidex_mask = 0x00000000, /* don't care */ .sidex_match = 0x00000000, }; -#endif /* USE_NEW_VECTORS */ static struct platform_device ka43_vsbus_device = { .name = "ka4x-vsbus" Index: cpu_ka55.c =================================================================== RCS file: /cvsroot/linux-vax/kernel-2.5/arch/vax/kernel/cpu_ka55.c,v retrieving revision 1.11 retrieving revision 1.12 diff -u -d -r1.11 -r1.12 --- cpu_ka55.c 30 May 2004 09:36:47 -0000 1.11 +++ cpu_ka55.c 2 Oct 2004 11:42:46 -0000 1.12 @@ -37,11 +37,6 @@ return 0; } -static void ka55_pre_vm_init(void) -{ - mv_ka55.sidex = *(unsigned int *)RIGEL_SIDEX_ADDR; -} - static void ka55_post_vm_init(void) { #ifdef CONFIG_DZ @@ -63,7 +58,6 @@ } struct vax_mv mv_ka55 = { - .pre_vm_init = ka55_pre_vm_init, .post_vm_init = ka55_post_vm_init, .pre_vm_putchar = ka55_prom_putchar, .pre_vm_getchar = ka55_prom_getchar, @@ -74,3 +68,5 @@ .clock_init = generic_clock_init, }; +#warning KA55 needs a struct cpumatch + Index: vmlinux.lds.S =================================================================== RCS file: /cvsroot/linux-vax/kernel-2.5/arch/vax/kernel/vmlinux.lds.S,v retrieving revision 1.4 retrieving revision 1.5 diff -u -d -r1.4 -r1.5 --- vmlinux.lds.S 29 Sep 2004 10:39:17 -0000 1.4 +++ vmlinux.lds.S 2 Oct 2004 11:42:47 -0000 1.5 @@ -96,9 +96,9 @@ *(.initcall7.init) } __initcall_end = .; - __init_vecmatch_start = .; - .init.vecmatch : { *(.init.vecmatch) } - __init_vecmatch_end = .; + __init_cpumatch_start = .; + .init.cpumatch : { *(.init.cpumatch) } + __init_cpumatch_end = .; . = ALIGN(4096); .init.ramfs : { __initramfs_start = .; |
|
From: Kenn H. <ke...@us...> - 2004-10-02 11:42:58
|
Update of /cvsroot/linux-vax/kernel-2.5/include/asm-vax In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv11843/include/asm-vax Modified Files: mv.h Log Message: Switch over to new-style CPU identification. Rename the "machine vector match" stuff to "CPU match". Index: mv.h =================================================================== RCS file: /cvsroot/linux-vax/kernel-2.5/include/asm-vax/mv.h,v retrieving revision 1.28 retrieving revision 1.29 diff -u -d -r1.28 -r1.29 --- mv.h 2 Oct 2004 00:09:30 -0000 1.28 +++ mv.h 2 Oct 2004 11:42:47 -0000 1.29 @@ -63,13 +63,11 @@ extern struct vax_mv mv_ka660; extern struct vax_mv mv_vxt; -#define USE_NEW_VECTORS -#ifdef USE_NEW_VECTORS /* - * This defines a match for a machine vector and a macro to place + * This defines a match for a CPU and a macro to place * such a match structure into the right section at link time */ -struct machvec_match { +struct cpu_match { struct vax_mv *mv; unsigned long sid_mask; unsigned long sid_match; @@ -78,9 +76,7 @@ unsigned long sidex_match; }; -#define __CPU_MATCH __attribute_used__ __attribute__((__section__(".init.vecmatch"))) - -#endif /* USE_NEW_VECTORS */ +#define __CPU_MATCH __attribute_used__ __attribute__((__section__(".init.cpumatch"))) /* |
|
From: Kenn H. <ke...@us...> - 2004-10-02 11:41:05
|
Update of /cvsroot/linux-vax/kernel-2.5/include/asm-vax In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv11477/include/asm-vax Modified Files: processor.h Log Message: Remove unnecessary #includes Index: processor.h =================================================================== RCS file: /cvsroot/linux-vax/kernel-2.5/include/asm-vax/processor.h,v retrieving revision 1.9 retrieving revision 1.10 diff -u -d -r1.9 -r1.10 --- processor.h 17 Aug 2004 10:40:04 -0000 1.9 +++ processor.h 2 Oct 2004 11:40:49 -0000 1.10 @@ -11,8 +11,6 @@ #include <asm/pcb.h> /* process control block definition */ -#include <asm/page.h> -#include <asm/vaxcpu.h> /* CPU type definitions */ #include <asm/mm/task.h> /* task memory space defines */ /* |
|
From: Kenn H. <ke...@us...> - 2004-10-02 00:09:42
|
Update of /cvsroot/linux-vax/kernel-2.5/include/asm-vax In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv5890/include/asm-vax Modified Files: mv.h Log Message: Make new-style CPU identification the default Index: mv.h =================================================================== RCS file: /cvsroot/linux-vax/kernel-2.5/include/asm-vax/mv.h,v retrieving revision 1.27 retrieving revision 1.28 diff -u -d -r1.27 -r1.28 --- mv.h 30 Sep 2004 20:03:09 -0000 1.27 +++ mv.h 2 Oct 2004 00:09:30 -0000 1.28 @@ -63,7 +63,7 @@ extern struct vax_mv mv_ka660; extern struct vax_mv mv_vxt; -#undef USE_NEW_VECTORS +#define USE_NEW_VECTORS #ifdef USE_NEW_VECTORS /* * This defines a match for a machine vector and a macro to place |
Update of /cvsroot/linux-vax/kernel-2.5/arch/vax/kernel In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv4861 Modified Files: cpu_ka410.c cpu_ka42.c cpu_ka43.c cpu_ka46.c cpu_ka48.c cpu_ka630.c cpu_ka640.c cpu_ka660.c cpu_vxt.c Log Message: Add in support for new-style CPU identification Index: cpu_ka46.c =================================================================== RCS file: /cvsroot/linux-vax/kernel-2.5/arch/vax/kernel/cpu_ka46.c,v retrieving revision 1.20 retrieving revision 1.21 diff -u -d -r1.20 -r1.21 --- cpu_ka46.c 30 Sep 2004 21:16:59 -0000 1.20 +++ cpu_ka46.c 2 Oct 2004 00:03:14 -0000 1.21 @@ -144,9 +144,7 @@ .mv = &mv_ka46, .sid_mask = VAX_SID_FAMILY_MASK, .sid_match = VAX_MARIAH << VAX_SID_FAMILY_SHIFT, - .sidex_addr = RIGEL_SIDEX_ADDR, /* This is bogus: mariah isn't rigel - and so it should have an own - define! */ + .sidex_addr = MARIAH_SIDEX_ADDR, .sidex_mask = 0x00000000, .sidex_match = 0x00000000, }; Index: cpu_vxt.c =================================================================== RCS file: /cvsroot/linux-vax/kernel-2.5/arch/vax/kernel/cpu_vxt.c,v retrieving revision 1.13 retrieving revision 1.14 diff -u -d -r1.13 -r1.14 --- cpu_vxt.c 30 Sep 2004 21:15:14 -0000 1.13 +++ cpu_vxt.c 2 Oct 2004 00:03:14 -0000 1.14 @@ -54,3 +54,16 @@ .clock_init = generic_clock_init, }; +#ifdef USE_NEW_VECTORS +static struct machvec_match __CPU_MATCH mvm_vxt = { + .mv = &mv_vxt, + .sid_mask = VAX_SID_FAMILY_MASK, + .sid_match = VAX_SOC << VAX_SID_FAMILY_SHIFT, + + .sidex_addr = SOC_SIDEX_ADDR, + + .sidex_mask = SOC_SIDEX_TYPE_MASK, + .sidex_match = SOC_SIDEX_TYPE_VXT << SOC_SIDEX_TYPE_SHIFT +}; +#endif /* USE_NEW_VECTORS */ + Index: cpu_ka630.c =================================================================== RCS file: /cvsroot/linux-vax/kernel-2.5/arch/vax/kernel/cpu_ka630.c,v retrieving revision 1.10 retrieving revision 1.11 diff -u -d -r1.10 -r1.11 --- cpu_ka630.c 26 Feb 2004 10:30:49 -0000 1.10 +++ cpu_ka630.c 2 Oct 2004 00:03:14 -0000 1.11 @@ -29,3 +29,26 @@ .clock_init = generic_clock_init, }; +#ifdef USE_NEW_VECTORS +static struct machvec_match __CPU_MATCH mvm_ka630 = { + .mv = &mv_ka630, + .sid_mask = VAX_SID_FAMILY_MASK | UVAX2_SID_SUBTYPE_MASK, + .sid_match = (VAX_UVAX2 << VAX_SID_FAMILY_SHIFT) | + (UVAX2_SID_SUBTYPE_KA630 << UVAX2_SID_SUBTYPE_SHIFT), + .sidex_addr = 0, + .sidex_mask = 0x00000000, + .sidex_match = 0x00000000, +}; + +static struct machvec_match __CPU_MATCH mvm_charon = { + .mv = &mv_ka630, + .sid_mask = VAX_SID_FAMILY_MASK | UVAX2_SID_SUBTYPE_MASK, + .sid_match = (VAX_UVAX2 << VAX_SID_FAMILY_SHIFT) | + (UVAX2_SID_SUBTYPE_KA630 << UVAX2_SID_SUBTYPE_SHIFT), + .sidex_addr = 0, + .sidex_mask = 0x00000000, + .sidex_match = 0x00000000, +}; + +#endif /* USE_NEW_VECTORS */ + Index: cpu_ka42.c =================================================================== RCS file: /cvsroot/linux-vax/kernel-2.5/arch/vax/kernel/cpu_ka42.c,v retrieving revision 1.15 retrieving revision 1.16 diff -u -d -r1.15 -r1.16 --- cpu_ka42.c 18 Sep 2004 23:06:33 -0000 1.15 +++ cpu_ka42.c 2 Oct 2004 00:03:14 -0000 1.16 @@ -55,6 +55,18 @@ .clock_init = ka4x_clock_init, }; +#ifdef USE_NEW_VECTORS +static struct machvec_match __CPU_MATCH mvm_ka42 = { + .mv = &mv_ka42, + .sid_mask = VAX_SID_FAMILY_MASK, + .sid_match = VAX_CVAX << VAX_SID_FAMILY_SHIFT, + + .sidex_addr = CVAX_SIDEX_ADDR, + .sidex_mask = CVAX_SIDEX_TYPE_MASK, + .sidex_match = CVAX_SIDEX_TYPE_VS3100 << CVAX_SIDEX_TYPE_SHIFT, +}; +#endif /* USE_NEW_VECTORS */ + static struct platform_device ka42_vsbus_device = { .name = "ka4x-vsbus" }; Index: cpu_ka660.c =================================================================== RCS file: /cvsroot/linux-vax/kernel-2.5/arch/vax/kernel/cpu_ka660.c,v retrieving revision 1.9 retrieving revision 1.10 diff -u -d -r1.9 -r1.10 --- cpu_ka660.c 26 Feb 2004 10:33:37 -0000 1.9 +++ cpu_ka660.c 2 Oct 2004 00:03:14 -0000 1.10 @@ -37,3 +37,17 @@ .clock_init = generic_clock_init, }; +#ifdef USE_NEW_VECTORS +static struct machvec_match __CPU_MATCH mvm_ka660 = { + .mv = &mv_ka660, + .sid_mask = VAX_SID_FAMILY_MASK, + .sid_match = VAX_SOC << VAX_SID_FAMILY_SHIFT, + + .sidex_addr = SOC_SIDEX_ADDR, + + .sidex_mask = SOC_SIDEX_TYPE_MASK | SOC_Q22_SUBTYPE_MASK, + .sidex_match = (SOC_SIDEX_TYPE_Q22 << SOC_SIDEX_TYPE_SHIFT) | + (SOC_Q22_SUBTYPE_KA660 << SOC_Q22_SUBTYPE_SHIFT), +}; +#endif /* USE_NEW_VECTORS */ + Index: cpu_ka43.c =================================================================== RCS file: /cvsroot/linux-vax/kernel-2.5/arch/vax/kernel/cpu_ka43.c,v retrieving revision 1.18 retrieving revision 1.19 diff -u -d -r1.18 -r1.19 --- cpu_ka43.c 18 Sep 2004 23:06:33 -0000 1.18 +++ cpu_ka43.c 2 Oct 2004 00:03:14 -0000 1.19 @@ -236,6 +236,17 @@ .clock_init = ka4x_clock_init, }; +#ifdef USE_NEW_VECTORS +static struct machvec_match __CPU_MATCH mvm_ka43 = { + .mv = &mv_ka43, + .sid_mask = VAX_SID_FAMILY_MASK, + .sid_match = VAX_RIGEL << VAX_SID_FAMILY_SHIFT, + .sidex_addr = RIGEL_SIDEX_ADDR, + .sidex_mask = 0x00000000, /* don't care */ + .sidex_match = 0x00000000, +}; +#endif /* USE_NEW_VECTORS */ + static struct platform_device ka43_vsbus_device = { .name = "ka4x-vsbus" }; Index: cpu_ka410.c =================================================================== RCS file: /cvsroot/linux-vax/kernel-2.5/arch/vax/kernel/cpu_ka410.c,v retrieving revision 1.11 retrieving revision 1.12 diff -u -d -r1.11 -r1.12 --- cpu_ka410.c 26 Feb 2004 10:23:13 -0000 1.11 +++ cpu_ka410.c 2 Oct 2004 00:03:14 -0000 1.12 @@ -40,3 +40,15 @@ .clock_init = ka4x_clock_init, }; +#ifdef USE_NEW_VECTORS +static struct machvec_match __CPU_MATCH mvm_ka410 = { + .mv = &mv_ka410, + .sid_mask = VAX_SID_FAMILY_MASK | UVAX2_SID_SUBTYPE_MASK, + .sid_match = (VAX_UVAX2 << VAX_SID_FAMILY_SHIFT) | + (UVAX2_SID_SUBTYPE_KA410 << UVAX2_SID_SUBTYPE_SHIFT), + .sidex_addr = 0, + .sidex_mask = 0x00000000, + .sidex_match = 0x00000000, +}; +#endif /* USE_NEW_VECTORS */ + Index: cpu_ka640.c =================================================================== RCS file: /cvsroot/linux-vax/kernel-2.5/arch/vax/kernel/cpu_ka640.c,v retrieving revision 1.9 retrieving revision 1.10 diff -u -d -r1.9 -r1.10 --- cpu_ka640.c 26 Feb 2004 10:31:31 -0000 1.9 +++ cpu_ka640.c 2 Oct 2004 00:03:14 -0000 1.10 @@ -55,3 +55,17 @@ .clock_init = generic_clock_init, }; +#ifdef USE_NEW_VECTORS +static struct machvec_match __CPU_MATCH mvm_ka640 = { + .mv = &mv_ka640, + .sid_mask = VAX_SID_FAMILY_MASK, + .sid_match = VAX_CVAX << VAX_SID_FAMILY_SHIFT, + + .sidex_addr = CVAX_SIDEX_ADDR, + + .sidex_mask = CVAX_SIDEX_TYPE_MASK | CVAX_Q22_SUBTYPE_MASK, + .sidex_match = (CVAX_SIDEX_TYPE_Q22 << CVAX_SIDEX_TYPE_SHIFT) | + (CVAX_Q22_SUBTYPE_KA640 << CVAX_Q22_SUBTYPE_SHIFT), +}; +#endif /* USE_NEW_VECTORS */ + Index: cpu_ka48.c =================================================================== RCS file: /cvsroot/linux-vax/kernel-2.5/arch/vax/kernel/cpu_ka48.c,v retrieving revision 1.6 retrieving revision 1.7 diff -u -d -r1.6 -r1.7 --- cpu_ka48.c 20 Sep 2004 08:53:18 -0000 1.6 +++ cpu_ka48.c 2 Oct 2004 00:03:14 -0000 1.7 @@ -130,6 +130,17 @@ .clock_init = ka4x_clock_init, }; +#ifdef USE_NEW_VECTORS +static struct machvec_match __CPU_MATCH mvm_ka48 = { + .mv = &mv_ka48, + .sid_mask = VAX_SID_FAMILY_MASK, + .sid_match = VAX_SOC << VAX_SID_FAMILY_SHIFT, + .sidex_addr = SOC_SIDEX_ADDR, + .sidex_mask = SOC_SIDEX_TYPE_MASK, + .sidex_match = SOC_SIDEX_TYPE_KA48 << SOC_SIDEX_TYPE_SHIFT, +}; +#endif /* USE_NEW_VECTORS */ + static struct platform_device ka48_vsbus_device = { .name = "ka4x-vsbus" }; |
|
From: Kenn H. <ke...@us...> - 2004-10-01 23:57:52
|
Update of /cvsroot/linux-vax/kernel-2.5/include/asm-vax In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv3835/include/asm-vax Modified Files: vaxcpu.h Log Message: Define MARIAH_SIDEX_ADDR Index: vaxcpu.h =================================================================== RCS file: /cvsroot/linux-vax/kernel-2.5/include/asm-vax/vaxcpu.h,v retrieving revision 1.5 retrieving revision 1.6 diff -u -d -r1.5 -r1.6 --- vaxcpu.h 26 Feb 2004 11:35:33 -0000 1.5 +++ vaxcpu.h 1 Oct 2004 23:57:18 -0000 1.6 @@ -222,6 +222,11 @@ #define RIGEL_SIDEX_ADDR 0x20040004 /*****************************************************************************/ +/* Definitions for RIGEL family CPUs */ + +#define MARIAH_SIDEX_ADDR 0x20040004 + +/*****************************************************************************/ /* stuff for KA4xx series CPU's */ /* offsets into prom-space for useful routines */ |
|
From: Kenn H. <ke...@us...> - 2004-09-30 22:36:33
|
Update of /cvsroot/linux-vax/kernel-2.5/include/asm-vax In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv10718/include/asm-vax Modified Files: dma-mapping.h Log Message: Fix compile warnings in files that include dma-mapping.h without including scatterlist.h first Index: dma-mapping.h =================================================================== RCS file: /cvsroot/linux-vax/kernel-2.5/include/asm-vax/dma-mapping.h,v retrieving revision 1.1 retrieving revision 1.2 diff -u -d -r1.1 -r1.2 --- dma-mapping.h 24 Feb 2004 00:02:34 -0000 1.1 +++ dma-mapping.h 30 Sep 2004 22:36:23 -0000 1.2 @@ -10,6 +10,8 @@ /* need struct page definitions */ #include <linux/mm.h> +#include <asm/scatterlist.h> + static inline int dma_supported(struct device *dev, u64 mask) { |
|
From: Jan-Benedict G. <jb...@us...> - 2004-09-30 21:21:19
|
Update of /cvsroot/linux-vax/kernel-2.5/arch/vax/kernel In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv27028/kernel Modified Files: ptrace.c Log Message: - Older whitespace-only adjustment. Index: ptrace.c =================================================================== RCS file: /cvsroot/linux-vax/kernel-2.5/arch/vax/kernel/ptrace.c,v retrieving revision 1.10 retrieving revision 1.11 diff -u -d -r1.10 -r1.11 --- ptrace.c 26 Jun 2003 23:27:41 -0000 1.10 +++ ptrace.c 30 Sep 2004 21:21:09 -0000 1.11 @@ -350,6 +350,7 @@ put_task_struct(child); out: unlock_kernel(); + return res; } @@ -359,12 +360,14 @@ return; if (!(current->ptrace & PT_PTRACED)) return; + current->exit_code = SIGTRAP; current->state = TASK_STOPPED; notify_parent(current, SIGCHLD); schedule(); + /* - * this isn't the same as continuing with a signal, but it will do + * This isn't the same as continuing with a signal, but it will do * for normal use. strace only continues with a signal if the * stopping signal is not SIGTRAP. -brl */ @@ -373,3 +376,4 @@ current->exit_code = 0; } } + |
|
From: Jan-Benedict G. <jb...@us...> - 2004-09-30 21:19:11
|
Update of /cvsroot/linux-vax/kernel-2.5/arch/vax/kernel In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv26493/kernel Modified Files: interrupt.c Log Message: - Remove braces. Index: interrupt.c =================================================================== RCS file: /cvsroot/linux-vax/kernel-2.5/arch/vax/kernel/interrupt.c,v retrieving revision 1.26 retrieving revision 1.27 diff -u -d -r1.26 -r1.27 --- interrupt.c 2 Sep 2004 22:39:39 -0000 1.26 +++ interrupt.c 30 Sep 2004 21:19:02 -0000 1.27 @@ -399,13 +399,12 @@ action = &vec->action; vec_num = vec->vec_num; - + kstat_cpu(smp_processor_id()).irqs[vec_num]++; - action->handler(vec_num, action->dev_id, regs); + action->handler(vec_num, action->dev_id, regs); - if (action->flags & SA_SAMPLE_RANDOM) { - add_interrupt_randomness(vec_num); - } + if (action->flags & SA_SAMPLE_RANDOM) + add_interrupt_randomness(vec_num); } /* This is called once we know that an interrupt or exception is actually |
|
From: Jan-Benedict G. <jb...@us...> - 2004-09-30 21:17:09
|
Update of /cvsroot/linux-vax/kernel-2.5/arch/vax/kernel In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv26093/kernel Modified Files: cpu_ka46.c Log Message: - Static! Index: cpu_ka46.c =================================================================== RCS file: /cvsroot/linux-vax/kernel-2.5/arch/vax/kernel/cpu_ka46.c,v retrieving revision 1.19 retrieving revision 1.20 diff -u -d -r1.19 -r1.20 --- cpu_ka46.c 30 Sep 2004 08:26:56 -0000 1.19 +++ cpu_ka46.c 30 Sep 2004 21:16:59 -0000 1.20 @@ -140,7 +140,7 @@ }; #ifdef USE_NEW_VECTORS -struct machvec_match __CPU_MATCH mvm_ka46 = { +static struct machvec_match __CPU_MATCH mvm_ka46 = { .mv = &mv_ka46, .sid_mask = VAX_SID_FAMILY_MASK, .sid_match = VAX_MARIAH << VAX_SID_FAMILY_SHIFT, |
|
From: Jan-Benedict G. <jb...@us...> - 2004-09-30 21:15:22
|
Update of /cvsroot/linux-vax/kernel-2.5/arch/vax/kernel In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv25625 Modified Files: cpu_vxt.c Log Message: - VXT seems to not have a DZ11 chip for console support:-) Index: cpu_vxt.c =================================================================== RCS file: /cvsroot/linux-vax/kernel-2.5/arch/vax/kernel/cpu_vxt.c,v retrieving revision 1.12 retrieving revision 1.13 diff -u -d -r1.12 -r1.13 --- cpu_vxt.c 26 Feb 2004 10:34:29 -0000 1.12 +++ cpu_vxt.c 30 Sep 2004 21:15:14 -0000 1.13 @@ -16,6 +16,7 @@ #include <asm/mtpr.h> #include <asm/mv.h> #include <asm/vaxcpu.h> +#include <asm/system.h> #include <asm/clock.h> /* For clock_init routines */ static void vxt_pre_vm_init(void) @@ -25,10 +26,14 @@ static void vxt_post_vm_init(void) { +#if 0 #ifdef CONFIG_DZ init_dz11_console(0x200A0000, 3); dz_serial_console_init(); #endif +#endif + init_vxt2694_console (0x200a0000); + //register_console (&vax_console); } static const char *vxt_cpu_type_str(void) @@ -41,8 +46,10 @@ .post_vm_init = vxt_post_vm_init, .pre_vm_putchar = ka4x_prom_putchar, .pre_vm_getchar = ka4x_prom_getchar, - .post_vm_putchar = dz11_putchar, - .post_vm_getchar = dz11_getchar, + //.post_vm_putchar = dz11_putchar, + .post_vm_putchar = vxt2694_putchar, + //.post_vm_getchar = dz11_getchar, + .post_vm_getchar = vxt2694_putchar, .cpu_type_str = vxt_cpu_type_str, .clock_init = generic_clock_init, }; |
|
From: Jan-Benedict G. <jb...@us...> - 2004-09-30 21:13:13
|
Update of /cvsroot/linux-vax/kernel-2.5/arch/vax/kernel In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv25055 Modified Files: cpu_generic.c Log Message: - Console helpers for VXT2000. There's yet a problem with them, but I hope to fix that these days:-) Index: cpu_generic.c =================================================================== RCS file: /cvsroot/linux-vax/kernel-2.5/arch/vax/kernel/cpu_generic.c,v retrieving revision 1.11 retrieving revision 1.12 diff -u -d -r1.11 -r1.12 --- cpu_generic.c 30 Jul 2004 00:17:16 -0000 1.11 +++ cpu_generic.c 30 Sep 2004 21:13:03 -0000 1.12 @@ -172,3 +172,39 @@ } //#endif /* CONFIG_DZ */ +#ifdef CONFIG_CPU_VXT +volatile int *vxt2694_addr = NULL; + +void +vxt2694_putchar (int c) +{ + /* wait for TxRDY */ + while ((vxt2694_addr[1] & 4) == 0) + /* spin */; + + /* send the character */ + vxt2694_addr[3] = c & 0xff; +} + +int +vxt2694_getchar (void) +{ + HALT; + return 0; +} + +void +init_vxt2694_console (unsigned long phys_addr) +{ + char *teststring = "Hello you!"; + int i; + + if (vxt2694_addr) + return; + vxt2694_addr = ioremap (phys_addr, 256); + + for (i = 0; i < strlen (teststring); i++) + vxt2694_putchar (teststring[i]); +} +#endif /* CONFIG_CPU_VXT */ + |