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: Kenn H. <ke...@us...> - 2005-02-27 21:33:24
|
Update of /cvsroot/linux-vax/kernel-2.5/init In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv1598/init Modified Files: apitest.c Log Message: Add TODO notes Index: apitest.c =================================================================== RCS file: /cvsroot/linux-vax/kernel-2.5/init/apitest.c,v retrieving revision 1.1 retrieving revision 1.2 diff -u -d -r1.1 -r1.2 --- apitest.c 27 Feb 2005 21:31:22 -0000 1.1 +++ apitest.c 27 Feb 2005 21:33:14 -0000 1.2 @@ -4,6 +4,13 @@ #include <asm/atomic.h> #include <asm/byteorder.h> +/* + * TODO: + * o Fire off kernel threads to test atomicity of atomic operations. + * o Test operations exported by <asm/bitops.h> + * o Test operations exported by <asm/checksum.h> + */ + #define TEST(expr) do { \ if (!(expr)) { \ test_failed = 1; \ |
|
From: Kenn H. <ke...@us...> - 2005-02-27 21:31:32
|
Update of /cvsroot/linux-vax/kernel-2.5/init In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv477/init Modified Files: Kconfig Makefile Added Files: apitest.c Log Message: This is the beginning of a test suite for the functions exported by the arch-dependent code to the arch-independent code. I plan to submit this to LKML once we've fleshed it out a bit more. Index: Makefile =================================================================== RCS file: /cvsroot/linux-vax/kernel-2.5/init/Makefile,v retrieving revision 1.1.1.18 retrieving revision 1.2 diff -u -d -r1.1.1.18 -r1.2 --- Makefile 24 Mar 2004 22:45:49 -0000 1.1.1.18 +++ Makefile 27 Feb 2005 21:31:22 -0000 1.2 @@ -9,6 +9,8 @@ mounts-$(CONFIG_BLK_DEV_INITRD) += do_mounts_initrd.o mounts-$(CONFIG_BLK_DEV_MD) += do_mounts_md.o +obj-$(CONFIG_ARCH_API_TEST) += apitest.o + # files to be removed upon make clean clean-files := ../include/linux/compile.h --- NEW FILE: apitest.c --- #include <linux/module.h> #include <linux/bitops.h> #include <asm/atomic.h> #include <asm/byteorder.h> #define TEST(expr) do { \ if (!(expr)) { \ test_failed = 1; \ printk("apitest: FAIL line %d: %s\n", __LINE__, #expr); \ } else if (verbose) { \ printk("apitest: PASS line %d: %s\n", __LINE__, #expr); \ } \ } while (0) static int test_failed; /* Fixme: make this a module parameter */ static int verbose = 0; static void test_div64(void) { uint64_t n; n = 20; TEST(do_div(n,6) == 2); TEST(n == 3); n = 20; TEST(do_div(n,4) == 0); TEST(n == 5); n = 1234567890123ULL; TEST(do_div(n,1000) == 123); TEST(n == 1234567890); } static void test_swab(void) { TEST(swab16(0x1234) == 0x3412); TEST(swab32(0x12345678) == 0x78563412); } static void test_atomic_t(void) { atomic_t a = ATOMIC_INIT(5); TEST(atomic_read(&a) == 5); atomic_set(&a, 10); TEST(atomic_read(&a) == 10); atomic_add(3, &a); TEST(atomic_read(&a) == 13); atomic_sub(5, &a); TEST(atomic_read(&a) == 8); TEST(!atomic_sub_and_test(5, &a)); TEST(atomic_sub_and_test(3, &a)); atomic_set(&a, 2); atomic_inc(&a); TEST(atomic_read(&a) == 3); atomic_dec(&a); TEST(atomic_read(&a) == 2); TEST(!atomic_dec_and_test(&a)); TEST(atomic_dec_and_test(&a)); TEST(!atomic_dec_and_test(&a)); TEST(!atomic_dec_and_test(&a)); /* a is now -2 */ TEST(!atomic_inc_and_test(&a)); TEST(atomic_inc_and_test(&a)); TEST(!atomic_inc_and_test(&a)); atomic_set(&a, -5); TEST(atomic_add_negative(4, &a)); atomic_set(&a, -5); TEST(!atomic_add_negative(5, &a)); atomic_set(&a, -5); TEST(!atomic_add_negative(6, &a)); atomic_set(&a, 0); atomic_clear_mask(0x123456, &a); TEST(atomic_read(&a) == 0); atomic_set(&a, 0x123456); atomic_clear_mask(0x123456, &a); TEST(atomic_read(&a) == 0); atomic_set(&a, 0xffffff); atomic_clear_mask(0x123456, &a); TEST(atomic_read(&a) == 0xedcba9); atomic_set(&a, 0); atomic_set_mask(0x123456, &a); TEST(atomic_read(&a) == 0x123456); atomic_set(&a, 0x123456); atomic_set_mask(0x123456, &a); TEST(atomic_read(&a) == 0x123456); atomic_set(&a, 0xffffff); atomic_set_mask(0x123456, &a); TEST(atomic_read(&a) == 0xffffff); } static void test_find_next_bit(void) { long mask[] = { 0, 0, 0, 0 }; int size = sizeof(mask) * 8; TEST(find_next_bit(mask, size, 0) == size); TEST(find_next_bit(mask, size, 1) == size); TEST(find_next_bit(mask, size, 2) == size); TEST(find_next_bit(mask, size, 7) == size); TEST(find_next_bit(mask, size, 8) == size); mask[0] = 0x7e; TEST(find_next_bit(mask, size, 0) == 1); TEST(find_next_bit(mask, size, 1) == 1); TEST(find_next_bit(mask, size, 2) == 2); TEST(find_next_bit(mask, size, 6) == 6); TEST(find_next_bit(mask, size, 7) == size); TEST(find_next_bit(mask, size, 8) == size); mask[0] = 0xff; TEST(find_next_bit(mask, size, 0) == 0); TEST(find_next_bit(mask, size, 1) == 1); TEST(find_next_bit(mask, size, 2) == 2); TEST(find_next_bit(mask, size, 7) == 7); TEST(find_next_bit(mask, size, 8) == size); mask[0] = 0xfe00; TEST(find_next_bit(mask, size, 0) == 9); TEST(find_next_bit(mask, size, 7) == 9); TEST(find_next_bit(mask, size, 8) == 9); TEST(find_next_bit(mask, size, 9) == 9); TEST(find_next_bit(mask, size, 10) == 10); TEST(find_next_bit(mask, size, 11) == 11); TEST(find_next_bit(mask, size, 15) == 15); TEST(find_next_bit(mask, size, 16) == size); mask[0] = 0; mask[1] = 0xfe; TEST(find_next_bit(mask, size, 0) == 33); TEST(find_next_bit(mask, size, 1) == 33); TEST(find_next_bit(mask, size, 31) == 33); TEST(find_next_bit(mask, size, 32) == 33); TEST(find_next_bit(mask, size, 33) == 33); TEST(find_next_bit(mask, size, 34) == 34); TEST(find_next_bit(mask, size, 39) == 39); TEST(find_next_bit(mask, size, 40) == size); TEST(find_next_bit(mask, size, size-1) == size); } static void test_ffs(void) { /* ffs() counts LSB as bit 1 */ TEST(ffs(0) == 0); TEST(ffs(1) == 1); TEST(ffs(2) == 2); TEST(ffs(3) == 1); TEST(ffs(0x80000000) == 32); /* __ffs() counts LSB as bit 0 */ /* __ffs(0) is undefined */ TEST(__ffs(1) == 0); TEST(__ffs(2) == 1); TEST(__ffs(3) == 0); TEST(__ffs(0x80000000) == 31); } void do_tests(void) { test_div64(); test_swab(); test_atomic_t(); test_find_next_bit(); test_ffs(); } static int __init apitest_init(void) { do_tests(); if (test_failed) { printk("apitest: at least one test failed\n"); } else { printk("apitest: all tests passed\n"); } return 0; } static void __exit apitest_exit(void) { } core_initcall(apitest_init); module_exit(apitest_exit); MODULE_LICENSE("GPL"); Index: Kconfig =================================================================== RCS file: /cvsroot/linux-vax/kernel-2.5/init/Kconfig,v retrieving revision 1.1.1.22 retrieving revision 1.2 diff -u -d -r1.1.1.22 -r1.2 --- Kconfig 16 Nov 2004 22:20:13 -0000 1.1.1.22 +++ Kconfig 27 Feb 2005 21:31:21 -0000 1.2 @@ -50,6 +50,17 @@ depends on BROKEN || !SMP default y +config ARCH_API_TEST + tristate "Compile tests for core<->arch API" + default n + help + Select this option if you want to compile a test suite + for the API exposed by the arch-dependent code to the + arch-independent portions of the kernel. If compiled + into the kernel, this test suite will be run early in + the boot sequence. If compiled as a module, the test + suite will be run when the module is loaded. + endmenu menu "General setup" |
|
From: Kenn H. <ke...@us...> - 2005-02-27 21:29:14
|
Update of /cvsroot/linux-vax/kernel-2.5/include/asm-vax In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv32686/include/asm-vax Removed Files: cpumask.h Log Message: asm/cpumask.h no longer exists --- cpumask.h DELETED --- |
|
From: Kenn H. <ke...@us...> - 2005-02-25 21:41:08
|
Update of /cvsroot/linux-vax/kernel-2.5/include/asm-vax In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv21968/include/asm-vax Modified Files: bitops.h Log Message: Our find_next_bit() has been broken for a long time (it returned 1 more than it should have). Index: bitops.h =================================================================== RCS file: /cvsroot/linux-vax/kernel-2.5/include/asm-vax/bitops.h,v retrieving revision 1.16 retrieving revision 1.17 diff -u -d -r1.16 -r1.17 --- bitops.h 20 Nov 2004 13:52:32 -0000 1.16 +++ bitops.h 25 Feb 2005 21:40:58 -0000 1.17 @@ -488,7 +488,7 @@ if (!tmp) return result + size; found_middle: - return result + ffs(tmp); + return result + __ffs(tmp); } #define find_first_bit(addr, size) \ |
|
From: Jan-Benedict G. <jb...@us...> - 2005-02-25 18:13:56
|
Update of /cvsroot/linux-vax/kernel-2.5/drivers/input/mouse In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv23925 Modified Files: vsxxxaa.c Log Message: - Minor fixup: make functions static, rename variable. Index: vsxxxaa.c =================================================================== RCS file: /cvsroot/linux-vax/kernel-2.5/drivers/input/mouse/vsxxxaa.c,v retrieving revision 1.24 retrieving revision 1.25 diff -u -d -r1.24 -r1.25 --- vsxxxaa.c 18 Nov 2004 20:41:47 -0000 1.24 +++ vsxxxaa.c 25 Feb 2005 18:13:46 -0000 1.25 @@ -45,7 +45,7 @@ * | 4 --- 3 | * \ 2 1 / * ------- - * + * * DEC socket DE9 DB25 Note * 1 (GND) 5 7 - * 2 (RxD) 2 3 - @@ -489,7 +489,7 @@ } static void -vsxxxaa_connect (struct serio *serio, struct serio_driver *dev) +vsxxxaa_connect (struct serio *serio, struct serio_driver *drv) { struct vsxxxaa *mouse; @@ -529,9 +529,10 @@ mouse->dev.name = mouse->name; mouse->dev.phys = mouse->phys; mouse->dev.id.bustype = BUS_RS232; + mouse->dev.dev = &serio->dev; mouse->serio = serio; - if (serio_open (serio, dev)) { + if (serio_open (serio, drv)) { kfree (mouse); return; } @@ -557,14 +558,14 @@ .disconnect = vsxxxaa_disconnect, }; -int __init +static int __init vsxxxaa_init (void) { serio_register_driver (&vsxxxaa_drv); return 0; } -void __exit +static void __exit vsxxxaa_exit (void) { serio_unregister_driver (&vsxxxaa_drv); |
|
From: Jan-Benedict G. <jb...@us...> - 2005-02-25 18:06:29
|
Update of /cvsroot/linux-vax/kernel-2.5/drivers/input/keyboard In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv21108 Modified Files: lkkbd.c Log Message: - Merge upstream suggestion (make init/exit function static, set device). Index: lkkbd.c =================================================================== RCS file: /cvsroot/linux-vax/kernel-2.5/drivers/input/keyboard/lkkbd.c,v retrieving revision 1.29 retrieving revision 1.30 diff -u -d -r1.29 -r1.30 --- lkkbd.c 17 Nov 2004 00:19:11 -0000 1.29 +++ lkkbd.c 25 Feb 2005 18:06:16 -0000 1.30 @@ -685,6 +685,7 @@ lk->dev.id.vendor = SERIO_LKKBD; lk->dev.id.product = 0; lk->dev.id.version = 0x0100; + lk->dev.dev = &serio->dev; input_register_device (&lk->dev); @@ -718,17 +719,17 @@ /* * The functions for insering/removing us as a module. */ -int __init +static int __init lkkbd_init (void) { - serio_register_driver(&lkkbd_drv); + serio_register_driver (&lkkbd_drv); return 0; } -void __exit +static void __exit lkkbd_exit (void) { - serio_unregister_driver(&lkkbd_drv); + serio_unregister_driver (&lkkbd_drv); } module_init (lkkbd_init); |
|
From: Kenn H. <ke...@us...> - 2005-02-24 23:37:20
|
Update of /cvsroot/linux-vax/kernel-2.5/drivers/scsi In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv652/drivers/scsi Modified Files: NCR5380.c Log Message: Fix delayed work queuing code. Fix locking problem caused by indirectly calling NCR5380_proc_info() from NCR5380_abort() Index: NCR5380.c =================================================================== RCS file: /cvsroot/linux-vax/kernel-2.5/drivers/scsi/NCR5380.c,v retrieving revision 1.1.1.21 retrieving revision 1.7 diff -u -d -r1.1.1.21 -r1.7 --- NCR5380.c 16 Nov 2004 22:31:24 -0000 1.1.1.21 +++ NCR5380.c 24 Feb 2005 23:36:55 -0000 1.7 @@ -28,6 +28,10 @@ /* * $Log$ + * Revision 1.7 2005/02/24 23:36:55 kenn + * Fix delayed work queuing code. Fix locking problem caused by indirectly + * calling NCR5380_proc_info() from NCR5380_abort() + * * Revision 1.1.1.21 2004/11/16 22:31:24 kenn * Import of pristine Linus 2.6.9 tree * @@ -389,6 +393,7 @@ return -ETIMEDOUT; } +#ifdef NDEBUG static struct { unsigned char value; const char *name; @@ -402,7 +407,6 @@ {PHASE_UNKNOWN, "UNKNOWN"} }; -#ifdef NDEBUG static struct { unsigned char mask; const char *name; @@ -577,10 +581,11 @@ static void NCR5380_set_timer(struct NCR5380_hostdata *hostdata, unsigned long timeout) { hostdata->time_expires = jiffies + timeout; - schedule_delayed_work(&hostdata->coroutine, hostdata->time_expires); + schedule_delayed_work(&hostdata->coroutine, timeout); } +#ifdef AUTOPROBE_IRQ static int probe_irq __initdata = 0; /** @@ -656,6 +661,7 @@ return probe_irq; } +#endif /* AUTOPROBE_IRQ */ /** * NCR58380_print_options - show options @@ -715,16 +721,8 @@ static void NCR5380_print_status(struct Scsi_Host *instance) { - static char pr_bfr[512]; - char *start; - int len; - NCR5380_dprint(NDEBUG_ANY, instance); NCR5380_dprint_phase(NDEBUG_ANY, instance); - - len = NCR5380_proc_info(instance, pr_bfr, &start, 0, sizeof(pr_bfr), 0); - pr_bfr[len] = 0; - printk("\n%s\n", pr_bfr); } /******************************************/ @@ -2733,11 +2731,6 @@ NCR5380_print_status(instance); - printk(KERN_WARNING "scsi%d : aborting command\n", instance->host_no); - print_Scsi_Cmnd(cmd); - - NCR5380_print_status(instance); - NCR5380_setup(instance); dprintk(NDEBUG_ABORT, ("scsi%d : abort called\n", instance->host_no)); |
|
From: Kenn H. <ke...@us...> - 2005-02-24 23:35:24
|
Update of /cvsroot/linux-vax/kernel-2.5/drivers/vax/scsi In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv380/drivers/vax/scsi Modified Files: vax-5380.c Log Message: #include "scsi/hosts.h" is deprecated Index: vax-5380.c =================================================================== RCS file: /cvsroot/linux-vax/kernel-2.5/drivers/vax/scsi/vax-5380.c,v retrieving revision 1.4 retrieving revision 1.5 diff -u -d -r1.4 -r1.5 --- vax-5380.c 13 Aug 2004 23:45:15 -0000 1.4 +++ vax-5380.c 24 Feb 2005 23:35:00 -0000 1.5 @@ -14,7 +14,7 @@ #include <asm/bus/vsbus.h> #include "../../scsi/scsi.h" -#include "../../scsi/hosts.h" +#include <scsi/scsi_host.h> /* See NCR5380.c for the options that can be set */ #define AUTOSENSE |
|
From: Jan-Benedict G. <jb...@us...> - 2004-11-20 13:52:42
|
Update of /cvsroot/linux-vax/kernel-2.5/include/asm-vax In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv1974 Modified Files: bitops.h Log Message: - Remove FIXME comment that doesn't apply any more. Thanks to Kenn for spotting! Index: bitops.h =================================================================== RCS file: /cvsroot/linux-vax/kernel-2.5/include/asm-vax/bitops.h,v retrieving revision 1.15 retrieving revision 1.16 diff -u -d -r1.15 -r1.16 --- bitops.h 19 Nov 2004 14:29:30 -0000 1.15 +++ bitops.h 20 Nov 2004 13:52:32 -0000 1.16 @@ -393,11 +393,6 @@ { int r; - /* - * FIXME: We're forcing the input to be in memory or register. - * However, if was "g", gcc may decide to make an immediate value - * out of it, which is not accepted by CPU (and gas). - */ __asm__("ffs $0, $32, %1, %0\n" "bnequ 1f\n" "movl $-1,%0\n" |
|
From: Kenn H. <ke...@us...> - 2004-11-20 12:33:12
|
Update of /cvsroot/linux-vax/kernel-2.5/drivers/char In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv18949 Modified Files: Makefile Log Message: DZ driver doesn't live here anymore Index: Makefile =================================================================== RCS file: /cvsroot/linux-vax/kernel-2.5/drivers/char/Makefile,v retrieving revision 1.44 retrieving revision 1.45 diff -u -d -r1.44 -r1.45 --- Makefile 17 Nov 2004 00:17:28 -0000 1.44 +++ Makefile 20 Nov 2004 12:33:03 -0000 1.45 @@ -76,7 +76,6 @@ obj-$(CONFIG_FTAPE) += ftape/ obj-$(CONFIG_COBALT_LCD) += lcd.o obj-$(CONFIG_PPDEV) += ppdev.o -obj-$(CONFIG_DZ) += dz.o obj-$(CONFIG_NWBUTTON) += nwbutton.o obj-$(CONFIG_NWFLASH) += nwflash.o obj-$(CONFIG_SCx200_GPIO) += scx200_gpio.o |
|
From: Jan-Benedict G. <jb...@us...> - 2004-11-19 20:11:35
|
Update of /cvsroot/linux-vax/kernel-2.5/drivers/video In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv21920 Modified Files: vaxlcgfb.c Log Message: - Initialization of framebuffer drivers changed. - This brings vaxlcgfb.c in line with the new scheme. - Also cleans up some debugging code I used to have in the file. Index: vaxlcgfb.c =================================================================== RCS file: /cvsroot/linux-vax/kernel-2.5/drivers/video/vaxlcgfb.c,v retrieving revision 1.13 retrieving revision 1.14 diff -u -d -r1.13 -r1.14 --- vaxlcgfb.c 1 Apr 2004 20:45:23 -0000 1.13 +++ vaxlcgfb.c 19 Nov 2004 20:11:26 -0000 1.14 @@ -1,7 +1,7 @@ /* * ./linux/drivers/video/vaxlcgfb.c - Driver for VAX Low Cost Graphics Framebuffer * - * Copyright (C) 2003 by Jan-Benedict Glaw <jb...@lu...> + * Copyright (C) 2003,2004 by Jan-Benedict Glaw <jb...@lu...> * * The initial skeleton was stolen from: * pmagb-b-fb.c, (C) by Michael Engel <en...@un...>, @@ -29,11 +29,8 @@ /* * Debugging cruft */ -#undef LUT_DEBUGGING -#define OLD_CRUFT -#undef BLAZ_DOUBLE #define PROBE_DEBUG - +#undef DEBUG_HELPERS #ifdef PROBE_DEBUG #define PROBE_PRINTK(x...) printk(x) @@ -94,9 +91,6 @@ VAXLCGFB_48_1280x1024x8_SH, /* 4000/VLC */ VAXLCGFB_48_1024x768x8_SH, VAXLCGFB_48_640x480x8_SH, -#ifdef BLAZ_DOUBLE - VAXLCGFB_48_1024x768x8_SH, -#endif /* BLAZ_DOUBLE */ VAXLCGFB_48_1024x864x8_SH, }; @@ -139,9 +133,6 @@ TYPE (VAXLCGFB_48_1280x1024x8_SH, 1280, 1024, 8, 1), TYPE (VAXLCGFB_48_1024x768x8_SH, 1024, 768, 8, 1), TYPE (VAXLCGFB_48_640x480x8_SH, 640, 480, 8, 1), -#ifdef BLAZ_DOUBLE - TYPE (VAXLCGFB_48_1024x768x8_SH, 1024, 768, 8, 1), -#endif /* BLAZ_DOUBLE */ TYPE (VAXLCGFB_48_1024x864x8_SH, 1024, 864, 8, 1), }; @@ -196,13 +187,8 @@ type = VAXLCGFB_48_1024x768x8_SH; else if (value1 == 0x06 && value2 == 0x00) type = VAXLCGFB_48_640x480x8_SH; -#ifdef BLAZ_DOUBLE - else if (value1 == 0x07 && value2 == 0x80) - type = VAXLCGFB_48_1024x768x8_SH; -#else else if (value1 == 0x07 && value2 == 0x80) type = VAXLCGFB_48_1024x768x8_SH; -#endif /* BLAZ_DOUBLE */ else if (value1 == 0x07 && value2 == 0x00) type = VAXLCGFB_48_1024x864x8_SH; } @@ -321,7 +307,60 @@ return 0; } -#ifdef OLD_CRUFT +#ifdef DEBUG_HELPERS +static int +set_dot (struct fb_info *info, int x, int y, unsigned int colour) +{ + volatile unsigned char *dot; + + dot = (volatile unsigned char *) info->screen_base; + + dot += info->fix.line_length * y + x; + + *dot = (unsigned char) (colour & 0xff); + + return 0; +} + +/* + * (x1|y1) needs to be the upper left corner, + * (x2|y2) needs to be the lower right corner. + */ +static int +draw_rectangle (struct fb_info *info, int x1, int y1, int x2, int y2, unsigned int colour) +{ + int x, y; + + for (x = x1; x <= x1; x++) { + set_dot (info, x, y1, colour); /* top horizonthal line */ + set_dot (info, x, y2, colour); /* bottom horizonthal line */ + } + + for (y = y1; y <= y2; y++) { + set_dot (info, x1, y, colour); /* left vertical line */ + set_dot (info, x2, y, colour); /* right vertical line */ + } + + return 0; +} + +static int +draw_some_bullshit (struct fb_info *info) +{ +#define RECT_SIZE 20 + int x = info->var.xres - 1; + int y = info->var.yres - 1; + + draw_rectangle (info, 0, 0, RECT_SIZE - 1, RECT_SIZE - 1, 1); /* top-left */ + draw_rectangle (info, x - RECT_SIZE, 0, x, RECT_SIZE - 1, 1); /* top-right */ + draw_rectangle (info, 0, y - RECT_SIZE, RECT_SIZE - 1, y, 1); /* bottom-left */ + draw_rectangle (info, x - RECT_SIZE, y - RECT_SIZE, x, y, 1); /* bottom-right */ + + draw_rectangle (info, 0, 0, x, y, 1); /* fullscreen square */ + + return 0; +} + static void vaxlcgfb_show_info (struct fb_info *info) { @@ -370,7 +409,7 @@ printk (KERN_INFO "HTIMING =0x%08lx\n", GET_REG (me, REG_VIDEO_HTIMING)); printk (KERN_INFO "TIMING =0x%08lx\n", GET_REG (me, REG_VIDEO_TIMING)); } -#endif /* OLD_CRUFT */ +#endif /* DEBUG_HELPERS */ static int vaxlcgfb_setcolreg (unsigned int regno, unsigned int red, @@ -430,6 +469,8 @@ mdelay (10); /* FIXME: I didn't need to reset this flag to zero */ SET_REG (me, REG_LUT_CONSOLE_SEL, 0); /* Done with reload */ +#else + SET_REG (me, REG_LUT_CONSOLE_SEL, 0); /* Start reload */ #endif return 0; @@ -445,19 +486,7 @@ }; - -int -vaxlcgfb_setup (char *options) -{ - if (!options || !*options) - return 0; - - printk (KERN_INFO "vaxlcgfb options: %s\n", options); - - return 0; -} - -int +static int __init vaxlcgfb_init (void) { unsigned char *n_lut_base; @@ -534,35 +563,27 @@ vaxlcgfb_priv[i].online = 1; } -#ifdef LUT_DEBUGGING - if (base_fb != -1) { - for (i = 0; i < 255; i++) { - vaxlcgfb_setcolreg (i, (255-i) << 8, - (255-i) << 8, - (255-i) << 8, - 0, &vaxlcgfb_fb_info[base_fb]); - } - } -#endif - - -#ifdef OLD_CRUFT +#ifdef DEBUG_HELPERS vaxlcgfb_show_info (&vaxlcgfb_fb_info[0]); -#endif /* OLD_CRUFT */ -#ifdef LUT_DEBUGGING + for (i = 0; i < 4; i++) { + if (vaxlcgfb_priv[i].online) + draw_some_bullshit (&vaxlcgfb_fb_info[i]); + } + { volatile unsigned char *pixel; int x, y; - for (i = 0; i < 4; i++) + for (i = 0; i < 4; i++) { /* Draw a square on all FBs */ if (vaxlcgfb_priv[i].online) { pixel = vaxlcgfb_priv[i].fb_base; for (y = 500; y < 550; y++) for (x = 500; x < 550; x++) - *(pixel + (y * xres (type)) + x) = 17; + *(pixel + (y * xres (type)) + x) = 1; } + } printk (KERN_ERR "Done with pattern\n"); mdelay (5000); @@ -572,17 +593,16 @@ int shade; for (shade = 0; shade < 256; shade++) { - vaxlcgfb_setcolreg (17, shade << 8, + vaxlcgfb_setcolreg (1, shade << 8, shade << 8, shade << 8, 0, &vaxlcgfb_fb_info[base_fb]); - if (shade == 0) + if (shade % 5 == 0) mdelay (20); - printk (KERN_ERR "shade = %d\n", shade); } } } -#endif /* LUT_DEBUGGING */ +#endif /* DEBUG_HELPERS */ /* * Display what we've found @@ -648,8 +668,11 @@ return; } -MODULE_LICENSE ("GPLv2"); -MODULE_AUTHOR ("Jan-Benedict Glaw"); +MODULE_LICENSE ("GPL"); +MODULE_AUTHOR ("Jan-Benedict Glaw <jb...@lu...>"); MODULE_DESCRIPTION ("Module for the VAX LCG framebuffer option found on " "4000/60 and 4000/VLC like machines"); +module_init (vaxlcgfb_init); +module_exit (vaxlcgfb_exit); + |
|
From: Jan-Benedict G. <jb...@us...> - 2004-11-19 14:29:39
|
Update of /cvsroot/linux-vax/kernel-2.5/include/asm-vax In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv5565/include/asm-vax Modified Files: bitops.h Log Message: - Set inline assembler constraint to "mr" instead of "m" only. Index: bitops.h =================================================================== RCS file: /cvsroot/linux-vax/kernel-2.5/include/asm-vax/bitops.h,v retrieving revision 1.14 retrieving revision 1.15 diff -u -d -r1.14 -r1.15 --- bitops.h 19 Nov 2004 13:08:56 -0000 1.14 +++ bitops.h 19 Nov 2004 14:29:30 -0000 1.15 @@ -394,18 +394,17 @@ int r; /* - * FIXME: We're forcing the input to be in memory, but it would - * be okay if it was in a register, too. However, if it's "g", - * gcc may decide to put in an immediate value, which is not accepted - * by CPU (and gas). + * FIXME: We're forcing the input to be in memory or register. + * However, if was "g", gcc may decide to make an immediate value + * out of it, which is not accepted by CPU (and gas). */ __asm__("ffs $0, $32, %1, %0\n" "bnequ 1f\n" "movl $-1,%0\n" "1:" : "=ir" (r) - : "m" (x)); - return r+1; + : "mr" (x)); + return r + 1; } #endif |
|
From: Jan-Benedict G. <jb...@us...> - 2004-11-19 13:09:07
|
Update of /cvsroot/linux-vax/kernel-2.5/include/asm-vax In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv18641 Modified Files: bitops.h Log Message: - I've now taken Kenn's suggestion to force ffs's base operand into memory. mm/bootmem.c (as of 2.5.9) calls ffs() with a constant argument, which (with "g" constraint) may show up as an immediate value -- which the VAX CPUs as well as gas refuse to use. - Since many (at least mostly all "important) architectures (including i386) use a C-only implementation for ffs(), I guess this isn't all that bad wrt. performance. Index: bitops.h =================================================================== RCS file: /cvsroot/linux-vax/kernel-2.5/include/asm-vax/bitops.h,v retrieving revision 1.13 retrieving revision 1.14 diff -u -d -r1.13 -r1.14 --- bitops.h 2 Sep 2004 22:41:49 -0000 1.13 +++ bitops.h 19 Nov 2004 13:08:56 -0000 1.14 @@ -393,12 +393,18 @@ { int r; + /* + * FIXME: We're forcing the input to be in memory, but it would + * be okay if it was in a register, too. However, if it's "g", + * gcc may decide to put in an immediate value, which is not accepted + * by CPU (and gas). + */ __asm__("ffs $0, $32, %1, %0\n" "bnequ 1f\n" "movl $-1,%0\n" "1:" : "=ir" (r) - : "g" (x)); + : "m" (x)); return r+1; } #endif |
|
From: Jan-Benedict G. <jb...@us...> - 2004-11-19 12:50:15
|
Update of /cvsroot/linux-vax/kernel-2.5/drivers/vax/char In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv15296 Added Files: dz.c dz.h Log Message: - The new old dz.[ch] - Unfortunately, my NFS server is still down and the keyboard is currently at my VXT2000+. If would be cool to know if this (with CONFIG_VT) boots to local terminal on a KA46 with framebuffer console :-) --- NEW FILE: dz.h --- /* * dz.h: Serial port driver for DECStations and VAXstations equiped * with the DZ chipset. * * Copyright (C) 1998 Olivier A. D. Lebaillif * * Email: oli...@if... * */ #ifndef DZ_SERIAL_H #define DZ_SERIAL_H #include <linux/config.h> #ifdef CONFIG_SERIO #include <linux/serio.h> #endif /* CONFIG_SERIO */ /* * Definitions for the Control and Status Received. */ #define DZ_TRDY 0x8000 /* Transmitter empty */ #define DZ_TIE 0x4000 /* Transmitter Interrupt Enable */ #define DZ_RDONE 0x0080 /* Receiver data ready */ #define DZ_RIE 0x0040 /* Receive Interrupt Enable */ #define DZ_MSE 0x0020 /* Master Scan Enable */ #define DZ_CLR 0x0010 /* Master reset */ #define DZ_MAINT 0x0008 /* Loop Back Mode */ /* * Definitions for the Received buffer. */ #define DZ_RBUF_MASK 0x00FF /* Data Mask in the Receive Buffer */ #define DZ_LINE_MASK 0x0300 /* Line Mask in the Receive Buffer */ #define DZ_DVAL 0x8000 /* Valid Data indicator */ #define DZ_OERR 0x4000 /* Overrun error indicator */ #define DZ_FERR 0x2000 /* Frame error indicator */ #define DZ_PERR 0x1000 /* Parity error indicator */ #define LINE(x) (x & DZ_LINE_MASK) >> 8 /* Get the line number from the input buffer */ #define UCHAR(x) (unsigned char)(x & DZ_RBUF_MASK) /* * Definitions for the Transmit Register. */ #define DZ_LINE_KEYBOARD 0x0001 #define DZ_LINE_MOUSE 0x0002 #define DZ_LINE_MODEM 0x0004 #define DZ_LINE_PRINTER 0x0008 #define DZ_MODEM_DTR 0x0400 /* DTR for the modem line (2) */ /* * Definitions for the Modem Status Register. */ #define DZ_MODEM_DSR 0x0200 /* DSR for the modem line (2) */ /* * Definitions for the Transmit Data Register. */ #define DZ_BRK0 0x0100 /* Break assertion for line 0 */ #define DZ_BRK1 0x0200 /* Break assertion for line 1 */ #define DZ_BRK2 0x0400 /* Break assertion for line 2 */ #define DZ_BRK3 0x0800 /* Break assertion for line 3 */ /* * Definitions for the Line Parameter Register. */ #define DZ_KEYBOARD 0x0000 /* line 0 = keyboard */ #define DZ_MOUSE 0x0001 /* line 1 = mouse */ #define DZ_MODEM 0x0002 /* line 2 = modem */ #define DZ_PRINTER 0x0003 /* line 3 = printer */ #define DZ_CSIZE 0x0018 /* Number of bits per byte (mask) */ #define DZ_CS5 0x0000 /* 5 bits per byte */ #define DZ_CS6 0x0008 /* 6 bits per byte */ #define DZ_CS7 0x0010 /* 7 bits per byte */ #define DZ_CS8 0x0018 /* 8 bits per byte */ #define DZ_CSTOPB 0x0020 /* 2 stop bits instead of one */ #define DZ_PARENB 0x0040 /* Parity enable */ #define DZ_PARODD 0x0080 /* Odd parity instead of even */ #define DZ_CBAUD 0x0E00 /* Baud Rate (mask) */ #define DZ_B50 0x0000 #define DZ_B75 0x0100 #define DZ_B110 0x0200 #define DZ_B134 0x0300 #define DZ_B150 0x0400 #define DZ_B300 0x0500 #define DZ_B600 0x0600 #define DZ_B1200 0x0700 #define DZ_B1800 0x0800 #define DZ_B2000 0x0900 #define DZ_B2400 0x0A00 #define DZ_B3600 0x0B00 #define DZ_B4800 0x0C00 #define DZ_B7200 0x0D00 #define DZ_B9600 0x0E00 #define DZ_CREAD 0x1000 /* Enable receiver */ #define DZ_RXENAB 0x1000 /* enable receive char */ /* * Addresses for the DZ registers */ #ifdef CONFIG_VAX #define DZ_CSR 0x00 /* Control and Status Register */ #define DZ_RBUF 0x04 /* Receive Buffer */ #define DZ_LPR 0x04 /* Line Parameters Register */ #define DZ_TCR 0x08 /* Transmitter Control Register */ #define DZ_MSR 0x0c /* Modem Status Register */ #define DZ_TDR 0x0c /* Transmit Data Register */ #else #define DZ_CSR 0x00 /* Control and Status Register */ #define DZ_RBUF 0x08 /* Receive Buffer */ #define DZ_LPR 0x08 /* Line Parameters Register */ #define DZ_TCR 0x10 /* Transmitter Control Register */ #define DZ_MSR 0x18 /* Modem Status Register */ #define DZ_TDR 0x18 /* Transmit Data Register */ #endif #ifdef CONFIG_VAX #define DZ_NB_PORT 4 #else #define DZ_NB_PORT 4 #endif #define DZ_XMIT_SIZE 4096 /* buffer size */ #define WAKEUP_CHARS DZ_XMIT_SIZE/4 #define DZ_EVENT_WRITE_WAKEUP 0 #ifndef MIN #define MIN(a,b) ((a) < (b) ? (a) : (b)) #define DZ_INITIALIZED 0x80000000 /* Serial port was initialized */ #define DZ_CALLOUT_ACTIVE 0x40000000 /* Call out device is active */ #define DZ_NORMAL_ACTIVE 0x20000000 /* Normal device is active */ #define DZ_BOOT_AUTOCONF 0x10000000 /* Autoconfigure port on bootup */ #define DZ_CLOSING 0x08000000 /* Serial port is closing */ #define DZ_CTS_FLOW 0x04000000 /* Do CTS flow control */ #define DZ_CHECK_CD 0x02000000 /* i.e., CLOCAL */ #define DZ_CLOSING_WAIT_INF 0 #define DZ_CLOSING_WAIT_NONE 65535 #define DZ_SPLIT_TERMIOS 0x0008 /* Separate termios for dialin/callout */ #define DZ_SESSION_LOCKOUT 0x0100 /* Lock out cua opens based on session */ #define DZ_PGRP_LOCKOUT 0x0200 /* Lock out cua opens based on pgrp */ struct dz_serial { unsigned port; /* base address for the port */ int type; int flags; int baud_base; int blocked_open; unsigned short close_delay; unsigned short closing_wait; unsigned short line; /* port/line number */ unsigned short cflags; /* line configuration flag */ unsigned short x_char; /* xon/xoff character */ unsigned short read_status_mask; /* mask for read condition */ unsigned short ignore_status_mask; /* mask for ignore condition */ unsigned long event; /* mask used in BH */ unsigned char *xmit_buf; /* Transmit buffer */ int xmit_head; /* Position of the head */ int xmit_tail; /* Position of the tail */ int xmit_cnt; /* Count of the chars in the buffer */ int count; /* indicates how many times it has been opened */ int magic; struct async_icount icount; /* keep track of things ... */ struct tty_struct *tty; /* tty associated */ struct work_struct tqueue; /* Queue for BH */ struct work_struct tqueue_hangup; wait_queue_head_t open_wait; wait_queue_head_t close_wait; unsigned char is_console; /* flag indicating a serial console */ unsigned char is_initialized; #ifdef CONFIG_SERIO struct serio serio; int serio_opened; #endif /* CONFIG_SERIO */ }; static struct dz_serial multi[DZ_NB_PORT]; /* Four serial lines in the DZ chip */ static struct dz_serial *dz_console; /* * tmp_buf is used as a temporary buffer by serial_write. We need to * lock it in case the copy_from_user blocks while swapping in a page, * and some other program tries to do a serial write at the same time. * Since the lock will only come under contention when the system is * swapping and available memory is low, it makes sense to share one * buffer across all the serial ports, since it significantly saves * memory if large numbers of serial ports are open. */ static unsigned char *tmp_buf; static DECLARE_MUTEX(tmp_buf_sem); static char *dz_name = "DECstation DZ serial driver version "; static char *dz_version = "1.02"; static inline unsigned short dz_in (struct dz_serial *, unsigned); static inline void dz_out (struct dz_serial *, unsigned, unsigned short); static inline void dz_sched_event (struct dz_serial *, int); static inline void receive_chars (struct dz_serial *); static inline void transmit_chars (struct dz_serial *); static inline void check_modem_status (struct dz_serial *); static void dz_stop (struct tty_struct *); static void dz_start (struct tty_struct *); #ifdef CONFIG_VAX static irqreturn_t dz_interrupt_rx (int, void *, struct pt_regs *); static irqreturn_t dz_interrupt_tx (int, void *, struct pt_regs *); #else static void dz_interrupt (int, void *, struct pt_regs *); #endif static void do_softint (void *); static void do_serial_hangup (void *); static void change_speed (struct dz_serial *); static void dz_flush_chars (struct tty_struct *); static void dz_console_print (struct console *, const char *, unsigned int); static void dz_flush_buffer (struct tty_struct *); static void dz_throttle (struct tty_struct *); static void dz_unthrottle (struct tty_struct *); static void dz_send_xchar (struct tty_struct *, char); static void shutdown (struct dz_serial *); static void send_break (struct dz_serial *, int); static void dz_set_termios (struct tty_struct *, struct termios *); static void dz_close (struct tty_struct *, struct file *); static void dz_hangup (struct tty_struct *); static void show_serial_version (void); static int dz_write (struct tty_struct *, int, const unsigned char *, int); static int dz_write_room (struct tty_struct *); static int dz_chars_in_buffer (struct tty_struct *); static int startup (struct dz_serial *); static int get_serial_info (struct dz_serial *, struct serial_struct *); static int set_serial_info (struct dz_serial *, struct serial_struct *); static int get_lsr_info (struct dz_serial *, unsigned int *); static int dz_ioctl (struct tty_struct *, struct file *, unsigned int, unsigned long); static int block_til_ready (struct tty_struct *, struct file *, struct dz_serial *); static int dz_open (struct tty_struct *, struct file *); #ifdef MODULE int init_module (void) void cleanup_module (void) #endif #endif #endif /* DZ_SERIAL_H */ --- NEW FILE: dz.c --- /* * dz.c: Serial port driver for DECStations & VAXstations equiped * with the DZ chipset. * * Copyright (C) 1998 Olivier A. D. Lebaillif * * Email: oli...@if... * * [31-AUG-98] triemer * Changed IRQ to use Harald's dec internals interrupts.h * removed base_addr code - moving address assignment to setup.c * Changed name of dz_init to rs_init to be consistent with tc code * [13-NOV-98] triemer fixed code to receive characters * after patches by harald to irq code. * [09-JAN-99] triemer minor fix for schedule - due to removal of timeout * field from "current" - somewhere between 2.1.121 and 2.1.131 * [27-JUN-2001] Arnaldo Carvalho de Melo <ac...@co...> - cleanups * * Parts (C) 1999 David Airlie, ai...@li... [...1598 lines suppressed...] register_console(&dz_sercons); } #endif /* ifdef CONFIG_SERIAL_CONSOLE */ static struct vsbus_driver dz_driver = { .probe = dz_probe, .drv = { .name = "dz", }, }; static int __init dz_init_new(void) { return vsbus_register_driver(&dz_driver); } module_init(dz_init_new); MODULE_LICENSE("GPL"); |
|
From: Jan-Benedict G. <jb...@us...> - 2004-11-19 12:45:29
|
Update of /cvsroot/linux-vax/kernel-2.5/drivers/vax/char In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv14426 Modified Files: Makefile Log Message: - Build dz.o from new location (the files are to come in a second). Index: Makefile =================================================================== RCS file: /cvsroot/linux-vax/kernel-2.5/drivers/vax/char/Makefile,v retrieving revision 1.6 retrieving revision 1.7 diff -u -d -r1.6 -r1.7 --- Makefile 13 Oct 2003 00:36:37 -0000 1.6 +++ Makefile 19 Nov 2004 12:45:18 -0000 1.7 @@ -2,3 +2,5 @@ # Makefile for the Linux/VAX character device drivers. # +obj-$(CONFIG_DZ) += dz.o + |
|
From: Jan-Benedict G. <jb...@us...> - 2004-11-19 12:43:10
|
Update of /cvsroot/linux-vax/kernel-2.5/drivers/char In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv13978 Removed Files: dz.c dz.h Log Message: - Away with our DZ driver. - Soon to show up in drivers/vax/char/ . --- dz.h DELETED --- --- dz.c DELETED --- |
|
From: Jan-Benedict G. <jb...@us...> - 2004-11-19 12:38:51
|
Update of /cvsroot/linux-vax/kernel-2.5/drivers/vax In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv13109 Modified Files: Makefile Log Message: - Descend into char/ -- I'll put dz.[ch] here. Index: Makefile =================================================================== RCS file: /cvsroot/linux-vax/kernel-2.5/drivers/vax/Makefile,v retrieving revision 1.6 retrieving revision 1.7 diff -u -d -r1.6 -r1.7 --- Makefile 8 Aug 2004 23:33:14 -0000 1.6 +++ Makefile 19 Nov 2004 12:38:39 -0000 1.7 @@ -3,7 +3,7 @@ # obj-y += bus/ -#obj-y += char/ +obj-y += char/ obj-y += net/ obj-y += scsi/ obj-y += serial/ |
|
From: Jan-Benedict G. <jb...@us...> - 2004-11-19 11:17:16
|
Update of /cvsroot/linux-vax/kernel-2.5/drivers/char In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv27848/drivers/char Modified Files: dz.c Log Message: - Comment out serio port registering. - If we register the port, it'll fail (uninitializes spinlock), because serio_bus isn't yet set up. This is because the serio stuff is initialized (drivers/Makefile) after drivers/char/, but before drivers/serial/ . To get this working, it would (in theory) be enough to just move our old-style DZ driver into the serial/ directory... I'm undecided... Index: dz.c =================================================================== RCS file: /cvsroot/linux-vax/kernel-2.5/drivers/char/dz.c,v retrieving revision 1.25 retrieving revision 1.26 diff -u -d -r1.25 -r1.26 --- dz.c 18 Nov 2004 21:21:20 -0000 1.25 +++ dz.c 19 Nov 2004 11:17:07 -0000 1.26 @@ -1375,18 +1375,18 @@ tty_register_device(serial_driver, info->line, NULL); #ifdef CONFIG_SERIO - memset(&info->serio, 0, sizeof(info->serio)); + memset (&info->serio, 0, sizeof (struct serio)); info->serio.port_data = info; - info->serio.type = SERIO_RS232; + switch (i) { case DZ_KEYBOARD: - info->serio.type |= SERIO_RS232 | SERIO_LKKBD; + info->serio.type |= SERIO_LKKBD; sprintf (info->serio.name, "dzkbd"); sprintf (info->serio.phys, "dz/line0"); break; case DZ_MOUSE: - info->serio.type |= SERIO_RS232 | SERIO_VSXXXAA; + info->serio.type |= SERIO_VSXXXAA; sprintf (info->serio.name, "dzmouse"); sprintf (info->serio.phys, "dz/line1"); break; @@ -1404,7 +1404,8 @@ info->serio.close = dz_serio_close; info->serio.write = dz_serio_write; - serio_register_port (&info->serio); + printk (KERN_WARNING "NOT registering serio port %s because the serio stuff isn't up yet.\n", info->serio.phys); + //serio_register_port (&info->serio); #endif /* CONFIG_SERIO */ } |
|
From: Jan-Benedict G. <jb...@us...> - 2004-11-18 21:27:42
|
Update of /cvsroot/linux-vax/kernel-2.5/include/asm-vax In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv16620/include/asm-vax Modified Files: timex.h Log Message: - Modify typedef for cycles_t from "unsigned long" to "unsigned long long" to prevent warning (shift >= length) in drivers/random.c. This is duplicated from i386... Index: timex.h =================================================================== RCS file: /cvsroot/linux-vax/kernel-2.5/include/asm-vax/timex.h,v retrieving revision 1.3 retrieving revision 1.4 diff -u -d -r1.3 -r1.4 --- timex.h 20 May 2002 00:33:39 -0000 1.3 +++ timex.h 18 Nov 2004 21:27:31 -0000 1.4 @@ -13,7 +13,7 @@ (1000000/CLOCK_TICK_FACTOR) / (CLOCK_TICK_RATE/CLOCK_TICK_FACTOR)) \ << (SHIFT_SCALE-SHIFT_HZ)) / HZ) -typedef unsigned long cycles_t; +typedef unsigned long long cycles_t; extern cycles_t cacheflush_time; |
|
From: Jan-Benedict G. <jb...@us...> - 2004-11-18 21:21:33
|
Update of /cvsroot/linux-vax/kernel-2.5/drivers/char In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv15018 Modified Files: dz.c Log Message: - Fix dz.c for ldisc changes. - Fix dz.c for updates to the SERIO subsystem. - Flag the first two lines to hold a lkkbd or a vsxxx. In theory, this should obsolete the need for inputattach (that is, it should now just work (TM)) - Compile tested only (famous last words). - Run test scheduled for tomorrow morning. Index: dz.c =================================================================== RCS file: /cvsroot/linux-vax/kernel-2.5/drivers/char/dz.c,v retrieving revision 1.24 retrieving revision 1.25 diff -u -d -r1.24 -r1.25 --- dz.c 8 Aug 2004 23:23:22 -0000 1.24 +++ dz.c 18 Nov 2004 21:21:20 -0000 1.25 @@ -1098,14 +1098,8 @@ info->event = 0; info->tty = 0; - if (tty->ldisc.num != ldiscs[N_TTY].num) { - if (tty->ldisc.close) - tty->ldisc.close(tty); - tty->ldisc = ldiscs[N_TTY]; - tty->termios->c_line = N_TTY; - if (tty->ldisc.open) - tty->ldisc.open(tty); - } + tty_ldisc_flush(tty); + if (info->blocked_open) { if (info->close_delay) { current->state = TASK_INTERRUPTIBLE; @@ -1255,7 +1249,7 @@ static int dz_serio_write (struct serio *serio, unsigned char one_byte) { - struct dz_serial *info = serio->driver; + struct dz_serial *info = serio->port_data; unsigned long flags; spin_lock_irqsave (&dz_serio_lock, flags); @@ -1268,7 +1262,7 @@ static int dz_serio_open (struct serio *serio) { - struct dz_serial *info = serio->driver; + struct dz_serial *info = serio->port_data; unsigned long flags; int ret; @@ -1286,7 +1280,7 @@ static void dz_serio_close (struct serio *serio) { - struct dz_serial *info = serio->driver; + struct dz_serial *info = serio->port_data; unsigned long flags; spin_lock_irqsave (&dz_serio_lock, flags); @@ -1382,27 +1376,27 @@ #ifdef CONFIG_SERIO memset(&info->serio, 0, sizeof(info->serio)); - info->serio.driver = info; + info->serio.port_data = info; info->serio.type = SERIO_RS232; switch (i) { case DZ_KEYBOARD: - /* info->serio.type |= SERIO_LKKBD; */ - info->serio.name = "dzkbd"; - info->serio.phys = "dz/line0"; + info->serio.type |= SERIO_RS232 | SERIO_LKKBD; + sprintf (info->serio.name, "dzkbd"); + sprintf (info->serio.phys, "dz/line0"); break; case DZ_MOUSE: - /* info->serio.type |= SERIO_VSXXXAA; */ - info->serio.name = "dzmouse"; - info->serio.phys = "dz/line1"; + info->serio.type |= SERIO_RS232 | SERIO_VSXXXAA; + sprintf (info->serio.name, "dzmouse"); + sprintf (info->serio.phys, "dz/line1"); break; case DZ_MODEM: - info->serio.name = "dz"; - info->serio.phys = "dz/line2"; + sprintf (info->serio.name, "dz"); + sprintf (info->serio.phys, "dz/line2"); break; case DZ_PRINTER: - info->serio.name = "dz"; - info->serio.phys = "dz/line3"; + sprintf (info->serio.name, "dz"); + sprintf (info->serio.phys, "dz/line3"); break; } |
|
From: Jan-Benedict G. <jb...@us...> - 2004-11-18 20:41:57
|
Update of /cvsroot/linux-vax/kernel-2.5/drivers/input/mouse In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv5313 Modified Files: vsxxxaa.c Log Message: - Compiles. - Not yet tested. (I'd update my PeeCee -- I use this driver there for everyday's use...) Index: vsxxxaa.c =================================================================== RCS file: /cvsroot/linux-vax/kernel-2.5/drivers/input/mouse/vsxxxaa.c,v retrieving revision 1.23 retrieving revision 1.24 diff -u -d -r1.23 -r1.24 --- vsxxxaa.c 25 Aug 2004 13:36:13 -0000 1.23 +++ vsxxxaa.c 18 Nov 2004 20:41:47 -0000 1.24 @@ -85,8 +85,10 @@ #include <linux/serio.h> #include <linux/init.h> +#define DRIVER_DESC "Driver for DEC VSXXX-AA and -GA mice and VSXXX-AB tablet" + MODULE_AUTHOR ("Jan-Benedict Glaw <jb...@lu...>"); -MODULE_DESCRIPTION ("Driver for DEC VSXXX-AA and -GA mice and VSXXX-AB tablet"); +MODULE_DESCRIPTION (DRIVER_DESC); MODULE_LICENSE ("GPL"); #undef VSXXXAA_DEBUG @@ -407,7 +409,7 @@ * data...) will get shifted out of the buffer after some * activity on the mouse. */ - while (mouse->count > 0 && !IS_HDR_BYTE(buf[0])) { + while (mouse->count > 0 && !IS_HDR_BYTE (buf[0])) { printk (KERN_ERR "%s on %s: Dropping a byte to regain " "sync with mouse data stream...\n", mouse->name, mouse->phys); @@ -487,7 +489,7 @@ } static void -vsxxxaa_connect (struct serio *serio, struct serio_dev *dev) +vsxxxaa_connect (struct serio *serio, struct serio_driver *dev) { struct vsxxxaa *mouse; @@ -545,23 +547,27 @@ printk (KERN_INFO "input: %s on %s\n", mouse->name, mouse->phys); } -static struct serio_dev vsxxxaa_dev = { - .connect = vsxxxaa_connect, - .interrupt = vsxxxaa_interrupt, - .disconnect = vsxxxaa_disconnect, +static struct serio_driver vsxxxaa_drv = { + .driver = { + .name = "vsxxxaa", + }, + .description = DRIVER_DESC, + .connect = vsxxxaa_connect, + .interrupt = vsxxxaa_interrupt, + .disconnect = vsxxxaa_disconnect, }; int __init vsxxxaa_init (void) { - serio_register_device (&vsxxxaa_dev); + serio_register_driver (&vsxxxaa_drv); return 0; } void __exit vsxxxaa_exit (void) { - serio_unregister_device (&vsxxxaa_dev); + serio_unregister_driver (&vsxxxaa_drv); } module_init (vsxxxaa_init); |
|
From: Kenn H. <ke...@us...> - 2004-11-18 09:42:07
|
Update of /cvsroot/linux-vax/kernel-2.5/arch/vax In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv17571 Modified Files: Makefile Log Message: HEAD becomes head-y in 2.6.9 Index: Makefile =================================================================== RCS file: /cvsroot/linux-vax/kernel-2.5/arch/vax/Makefile,v retrieving revision 1.33 retrieving revision 1.34 diff -u -d -r1.33 -r1.34 --- Makefile 24 Jul 2004 15:19:25 -0000 1.33 +++ Makefile 18 Nov 2004 09:41:58 -0000 1.34 @@ -31,7 +31,7 @@ # Tell the top-level makefile about the addition arch-specific # stuff that's needed -HEAD = arch/vax/boot/head.o +head-y := arch/vax/boot/head.o init-y += arch/vax/boot/ core-y += arch/vax/kernel/ arch/vax/mm/ |
|
From: Kenn H. <ke...@us...> - 2004-11-18 09:30:40
|
Update of /cvsroot/linux-vax/kernel-2.5/include/asm-vax In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv15399/include/asm-vax Modified Files: ptrace.h uaccess.h Log Message: New definitions required by 2.6.9 Index: uaccess.h =================================================================== RCS file: /cvsroot/linux-vax/kernel-2.5/include/asm-vax/uaccess.h,v retrieving revision 1.6 retrieving revision 1.7 diff -u -d -r1.6 -r1.7 --- uaccess.h 2 Aug 2003 23:53:41 -0000 1.6 +++ uaccess.h 18 Nov 2004 09:30:31 -0000 1.7 @@ -234,6 +234,10 @@ #define __copy_to_user(to, from, size) \ __copy_tofrom_user((to), (from), (size)) +#define __copy_to_user_inatomic __copy_to_user +#define __copy_from_user_inatomic __copy_from_user + + extern unsigned long __clear_user(void *addr, unsigned long size); extern inline unsigned long Index: ptrace.h =================================================================== RCS file: /cvsroot/linux-vax/kernel-2.5/include/asm-vax/ptrace.h,v retrieving revision 1.6 retrieving revision 1.7 diff -u -d -r1.6 -r1.7 --- ptrace.h 3 Jun 2004 07:11:24 -0000 1.6 +++ ptrace.h 18 Nov 2004 09:30:31 -0000 1.7 @@ -84,6 +84,7 @@ #define user_mode(regs) ((regs)->psl.accmode == PSL_MODE_USER) #define instruction_pointer(regs) ((regs)->pc) +#define profile_pc(regs) instruction_pointer(regs) extern void hex_dump(void *, unsigned int); extern void show_regs(struct pt_regs *); |
|
From: Kenn H. <ke...@us...> - 2004-11-18 09:30:09
|
Update of /cvsroot/linux-vax/kernel-2.5/arch/vax/tools In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv15235/arch/vax/tools Modified Files: Makefile Log Message: host-progs deprecated in 2.6.9 - use hostprogs-y Index: Makefile =================================================================== RCS file: /cvsroot/linux-vax/kernel-2.5/arch/vax/tools/Makefile,v retrieving revision 1.3 retrieving revision 1.4 diff -u -d -r1.3 -r1.4 --- Makefile 13 Oct 2003 01:05:24 -0000 1.3 +++ Makefile 18 Nov 2004 09:30:00 -0000 1.4 @@ -1,6 +1,6 @@ -host-progs := mkbootblk setcmdline +hostprogs-y := mkbootblk setcmdline extra-y := mkbootblk setcmdline showcmdline quiet_cmd_showcmdline = LN $@ -> $< |
|
From: Kenn H. <ke...@us...> - 2004-11-18 09:29:40
|
Update of /cvsroot/linux-vax/kernel-2.5/arch/vax/kernel In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv15117/arch/vax/kernel Modified Files: signal.c Log Message: Changes to signal handling in 2.6.9 to fix a race condition Index: signal.c =================================================================== RCS file: /cvsroot/linux-vax/kernel-2.5/arch/vax/kernel/signal.c,v retrieving revision 1.13 retrieving revision 1.14 diff -u -d -r1.13 -r1.14 --- signal.c 7 Oct 2003 09:13:58 -0000 1.13 +++ signal.c 18 Nov 2004 09:29:32 -0000 1.14 @@ -593,11 +593,9 @@ */ static inline void -handle_signal(int canrestart, unsigned long sig, siginfo_t *info, - sigset_t *oldset, struct pt_regs * regs) +handle_signal(int canrestart, unsigned long sig, struct k_sigaction *ka, + siginfo_t *info, sigset_t *oldset, struct pt_regs * regs) { - struct k_sigaction *ka = ¤t->sighand->action[sig-1]; - /* Are we from a system call? */ if (canrestart) { /* If so, check system call restarting.. */ @@ -659,6 +657,8 @@ siginfo_t info; int signr; int canrestart; + struct k_sigaction ka; + /* * We want the common case to go fast, which * is why we may in certain cases get here from @@ -677,10 +677,10 @@ oldset = ¤t->blocked; - signr = get_signal_to_deliver(&info, regs, NULL); + signr = get_signal_to_deliver(&info, &ka, regs, NULL); if (signr > 0) { /* Whee! Actually deliver the signal. */ - handle_signal(canrestart, signr, &info, oldset, regs); + handle_signal(canrestart, signr, &ka, &info, oldset, regs); return 1; } |