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-03-21 22:57:21
|
Update of /cvsroot/linux-vax/kernel-2.5/arch/h8300/platform/h8300h/aki3068net In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv32152/arch/h8300/platform/h8300h/aki3068net Removed Files: ram.ld Log Message: Merge with 2.6.10 --- ram.ld DELETED --- |
|
From: Kenn H. <ke...@us...> - 2005-03-21 22:57:19
|
Update of /cvsroot/linux-vax/kernel-2.5/arch/cris/arch-v10/drivers In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv32152/arch/cris/arch-v10/drivers Removed Files: ethernet.c ide.c serial.c serial.h Log Message: Merge with 2.6.10 --- ethernet.c DELETED --- --- ide.c DELETED --- --- serial.c DELETED --- --- serial.h DELETED --- |
Update of /cvsroot/linux-vax/kernel-2.5/arch/arm/mach-sa1100 In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv32152/arch/arm/mach-sa1100 Removed Files: adsbitsy.c brutus.c empeg.c flexanet.c freebird.c graphicsclient.c graphicsmaster.c huw_webpanel.c itsy.c leds-adsbitsy.c leds-brutus.c leds-flexanet.c leds-graphicsclient.c leds-graphicsmaster.c leds-pfs168.c leds-system3.c nanoengine.c omnimeter.c pangolin.c pfs168.c sherman.c stork.c system3.c trizeps.c xp860.c yopy.c Log Message: Merge with 2.6.10 --- flexanet.c DELETED --- --- system3.c DELETED --- --- freebird.c DELETED --- --- leds-graphicsclient.c DELETED --- --- huw_webpanel.c DELETED --- --- empeg.c DELETED --- --- leds-brutus.c DELETED --- --- brutus.c DELETED --- --- graphicsclient.c DELETED --- --- xp860.c DELETED --- --- nanoengine.c DELETED --- --- leds-adsbitsy.c DELETED --- --- pangolin.c DELETED --- --- pfs168.c DELETED --- --- adsbitsy.c DELETED --- --- itsy.c DELETED --- --- leds-flexanet.c DELETED --- --- trizeps.c DELETED --- --- sherman.c DELETED --- --- yopy.c DELETED --- --- stork.c DELETED --- --- omnimeter.c DELETED --- --- leds-system3.c DELETED --- --- graphicsmaster.c DELETED --- --- leds-graphicsmaster.c DELETED --- --- leds-pfs168.c DELETED --- |
|
From: Kenn H. <ke...@us...> - 2005-03-21 22:57:13
|
Update of /cvsroot/linux-vax/kernel-2.5/arch/arm/mach-omap In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv32152/arch/arm/mach-omap Removed Files: clocks.c Log Message: Merge with 2.6.10 --- clocks.c DELETED --- |
|
From: Kenn H. <ke...@us...> - 2005-03-21 22:56:59
|
Update of /cvsroot/linux-vax/kernel-2.5/arch/arm/mach-iop3xx In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv32152/arch/arm/mach-iop3xx Removed Files: arch.c iop321-mm.c iop331-mm.c mm-321.c Log Message: Merge with 2.6.10 --- mm-321.c DELETED --- --- iop321-mm.c DELETED --- --- iop331-mm.c DELETED --- --- arch.c DELETED --- |
|
From: Kenn H. <ke...@us...> - 2005-03-21 22:56:58
|
Update of /cvsroot/linux-vax/kernel-2.5/arch/arm/mach-footbridge In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv32152/arch/arm/mach-footbridge Removed Files: arch.c irq.c mm.c Log Message: Merge with 2.6.10 --- arch.c DELETED --- --- irq.c DELETED --- --- mm.c DELETED --- |
|
From: Kenn H. <ke...@us...> - 2005-03-21 22:56:57
|
Update of /cvsroot/linux-vax/kernel-2.5/arch/arm/lib In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv32152/arch/arm/lib Removed Files: io-readsl-armv3.S io-readsl-armv4.S Log Message: Merge with 2.6.10 --- io-readsl-armv3.S DELETED --- --- io-readsl-armv4.S DELETED --- |
Update of /cvsroot/linux-vax/kernel-2.5/arch/arm/configs In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv32152/arch/arm/configs Removed Files: adsbitsy_defconfig brutus_defconfig empeg_defconfig flexanet_defconfig freebird_defconfig freebird_new_defconfig graphicsclient_defconfig graphicsmaster_defconfig huw_webpanel_defconfig pangolin_defconfig pfs168_mqtft_defconfig pfs168_mqvga_defconfig pfs168_sastn_defconfig pfs168_satft_defconfig sherman_defconfig stork_defconfig system3_defconfig trizeps_defconfig Log Message: Merge with 2.6.10 --- pfs168_mqtft_defconfig DELETED --- --- sherman_defconfig DELETED --- --- trizeps_defconfig DELETED --- --- stork_defconfig DELETED --- --- adsbitsy_defconfig DELETED --- --- freebird_defconfig DELETED --- --- freebird_new_defconfig DELETED --- --- huw_webpanel_defconfig DELETED --- --- pfs168_sastn_defconfig DELETED --- --- brutus_defconfig DELETED --- --- graphicsmaster_defconfig DELETED --- --- graphicsclient_defconfig DELETED --- --- pfs168_mqvga_defconfig DELETED --- --- flexanet_defconfig DELETED --- --- pangolin_defconfig DELETED --- --- pfs168_satft_defconfig DELETED --- --- system3_defconfig DELETED --- --- empeg_defconfig DELETED --- |
|
From: Kenn H. <ke...@us...> - 2005-03-21 22:56:54
|
Update of /cvsroot/linux-vax/kernel-2.5/arch/arm In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv32152/arch/arm Removed Files: defconfig Log Message: Merge with 2.6.10 --- defconfig DELETED --- |
|
From: Kenn H. <ke...@us...> - 2005-03-21 22:56:54
|
Update of /cvsroot/linux-vax/kernel-2.5/arch/arm/boot/compressed In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv32152/arch/arm/boot/compressed Removed Files: hw-bse.c Log Message: Merge with 2.6.10 --- hw-bse.c DELETED --- |
|
From: Kenn H. <ke...@us...> - 2005-03-21 22:56:50
|
Update of /cvsroot/linux-vax/kernel-2.5/Documentation/sound/oss In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv32152/Documentation/sound/oss Removed Files: ChangeLog.awe ChangeLog.multisound Log Message: Merge with 2.6.10 --- ChangeLog.awe DELETED --- --- ChangeLog.multisound DELETED --- |
|
From: Kenn H. <ke...@us...> - 2005-03-21 22:56:48
|
Update of /cvsroot/linux-vax/kernel-2.5/Documentation/isdn In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv32152/Documentation/isdn Removed Files: README.eicon Log Message: Merge with 2.6.10 --- README.eicon DELETED --- |
|
From: Kenn H. <ke...@us...> - 2005-03-21 22:56:47
|
Update of /cvsroot/linux-vax/kernel-2.5/Documentation/dvb In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv32152/Documentation/dvb Removed Files: firmware.txt Log Message: Merge with 2.6.10 --- firmware.txt DELETED --- |
|
From: Kenn H. <ke...@us...> - 2005-03-21 22:56:45
|
Update of /cvsroot/linux-vax/kernel-2.5/Documentation/DocBook In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv32152/Documentation/DocBook Removed Files: mousedrivers.tmpl Log Message: Merge with 2.6.10 --- mousedrivers.tmpl DELETED --- |
|
From: Kenn H. <ke...@us...> - 2005-03-21 22:56:45
|
Update of /cvsroot/linux-vax/kernel-2.5/Documentation In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv32152/Documentation Removed Files: digiboard.txt mkdev.ida Log Message: Merge with 2.6.10 --- digiboard.txt DELETED --- --- mkdev.ida DELETED --- |
|
From: Kenn H. <ke...@us...> - 2005-03-21 18:58:19
|
Update of /cvsroot/linux-vax/kernel-2.5/init In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv16065/init Modified Files: Makefile Added Files: archtest.c Removed Files: apitest.c Log Message: Rename apitest.c to archtest.c Index: Makefile =================================================================== RCS file: /cvsroot/linux-vax/kernel-2.5/init/Makefile,v retrieving revision 1.2 retrieving revision 1.3 diff -u -d -r1.2 -r1.3 --- Makefile 27 Feb 2005 21:31:22 -0000 1.2 +++ Makefile 21 Mar 2005 18:58:04 -0000 1.3 @@ -9,7 +9,7 @@ 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 +obj-$(CONFIG_ARCH_API_TEST) += archtest.o # files to be removed upon make clean clean-files := ../include/linux/compile.h --- apitest.c DELETED --- --- NEW FILE: archtest.c --- /* * This code tests various, easily-testable parts of the "API" * implemented by the arch-dependent code. * You can run the tests on a live system by compiling it as * a loadable module and loading it. * If you compile this module into the kernel, the tests will be * run shortly after computing the BogoMIPS value. */ #include <linux/module.h> #include <linux/bitops.h> #include <net/checksum.h> #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 more operations exported by <asm/checksum.h> */ static int verbose; module_param(verbose, int, 0444); MODULE_PARM_DESC(verbose, "Run tests verbosely (i.e. print PASS as well as FAIL)"); #define TEST(expr) do { \ if (!(expr)) { \ failed++; \ printk("archtest:%d: FAIL %s\n", __LINE__, #expr); \ } else if (verbose) { \ printk("archtest:%d: PASS %s\n", __LINE__, #expr); \ } \ } while (0) #define TEST_(sign, type, format, expr, v) do { \ sign type actual = (expr); \ sign type expected = (v); \ if (actual != expected) { \ failed++; \ printk("archtest:%d: FAIL %s == %s (was %" format "/0x%x)\n", __LINE__, #expr, #v, actual, actual); \ } else if (verbose) { \ printk("archtest:%d: PASS %s == %s\n", __LINE__, #expr, #v); \ } \ } while (0) #define TEST_USHORT(expr, v) TEST_(unsigned, short, "u", (expr), (v)) #define TEST_UINT(expr, v) TEST_(unsigned, int, "u", (expr), (v)) #define TEST_INT(expr, v) TEST_(signed, int, "d", (expr), (v)) static int failed; static void test_csum(void) { unsigned char data[] = { 0, 1, 2, 3, 4, 5, 6, 7, 8, 9 }; unsigned char data2[] = { 1, 2, 3, 4, 5, 6, 7, 8, 9, 10 }; TEST_USHORT(ip_compute_csum(data, sizeof(data)), 0xe6eb); TEST_USHORT(ip_compute_csum(data, 1), 0xffff); TEST_USHORT(ip_compute_csum(data, 2), 0xfeff); TEST_USHORT(ip_compute_csum(data, 3), 0xfefd); TEST_USHORT(ip_compute_csum(data, 4), 0xfbfd); /* Test that alignment doesn't matter */ TEST_USHORT(ip_compute_csum(data + 1, 1), 0xfffe); TEST_USHORT(ip_compute_csum(data + 1, 2), 0xfdfe); TEST_USHORT(ip_compute_csum(data + 1, 3), 0xfdfb); TEST_USHORT(ip_compute_csum(data + 1, 4), 0xf9fb); TEST_USHORT(ip_compute_csum(data2, 1), 0xfffe); TEST_USHORT(ip_compute_csum(data2, 2), 0xfdfe); TEST_USHORT(ip_compute_csum(data2, 3), 0xfdfb); TEST_USHORT(ip_compute_csum(data2, 4), 0xf9fb); TEST_USHORT(ip_compute_csum(data+1, sizeof(data)-1), 0xebe6); TEST_USHORT(ip_compute_csum(data+2, sizeof(data)-2), 0xe7eb); TEST_USHORT(ip_compute_csum(data+3, sizeof(data)-3), 0xede7); TEST_USHORT(ip_compute_csum(data+4, sizeof(data)-4), 0xeaed); /* Test with non-zero initial sum */ TEST_USHORT(csum_fold(csum_partial(data, sizeof(data), 0x12345678)), 0x7e3f); TEST_USHORT(csum_fold(csum_partial(data+1, sizeof(data)-1, 0x12345678)), 0x833a); /* TODO: test csum_fold */ /* TODO: test csum_tcpudp_nofold */ /* TODO: test csum_tcpudp_magic */ /* TODO: test ip_fast_csum */ } static void test_div64(void) { uint64_t n; n = 20; TEST_UINT(do_div(n,6), 2); TEST_UINT(n, 3); n = 20; TEST_UINT(do_div(n,4), 0); TEST_UINT(n, 5); n = 1234567890123ULL; TEST_UINT(do_div(n,1000), 123); TEST_UINT(n, 1234567890); } static void test_swab(void) { unsigned int x; x = 0x1234; TEST_UINT(swab16(x), 0x3412); x = 0x12345678; TEST_UINT(swab32(x), 0x78563412); TEST_UINT(swab16(0x1234), 0x3412); TEST_UINT(swab32(0x12345678), 0x78563412); } static void test_atomic_t(void) { atomic_t a = ATOMIC_INIT(5); TEST_INT(atomic_read(&a), 5); atomic_set(&a, 10); TEST_INT(atomic_read(&a), 10); atomic_add(3, &a); TEST_INT(atomic_read(&a), 13); atomic_sub(5, &a); TEST_INT(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_INT(atomic_read(&a), 3); atomic_dec(&a); TEST_INT(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_INT(atomic_read(&a), 0); atomic_set(&a, 0x123456); atomic_clear_mask(0x123456, &a); TEST_INT(atomic_read(&a), 0); atomic_set(&a, 0xffffff); atomic_clear_mask(0x123456, &a); TEST_INT(atomic_read(&a), 0xedcba9); atomic_set(&a, 0); atomic_set_mask(0x123456, &a); TEST_INT(atomic_read(&a), 0x123456); atomic_set(&a, 0x123456); atomic_set_mask(0x123456, &a); TEST_INT(atomic_read(&a), 0x123456); atomic_set(&a, 0xffffff); atomic_set_mask(0x123456, &a); TEST_INT(atomic_read(&a), 0xffffff); } static void test_find_next_bit(void) { long mask[] = { 0, 0, 0, 0 }; int size = sizeof(mask) * 8; TEST_UINT(find_next_bit(mask, size, 0), size); TEST_UINT(find_next_bit(mask, size, 1), size); TEST_UINT(find_next_bit(mask, size, 2), size); TEST_UINT(find_next_bit(mask, size, 7), size); TEST_UINT(find_next_bit(mask, size, 8), size); mask[0] = 0x7e; TEST_UINT(find_next_bit(mask, size, 0), 1); TEST_UINT(find_next_bit(mask, size, 1), 1); TEST_UINT(find_next_bit(mask, size, 2), 2); TEST_UINT(find_next_bit(mask, size, 6), 6); TEST_UINT(find_next_bit(mask, size, 7), size); TEST_UINT(find_next_bit(mask, size, 8), size); mask[0] = 0xff; TEST_UINT(find_next_bit(mask, size, 0), 0); TEST_UINT(find_next_bit(mask, size, 1), 1); TEST_UINT(find_next_bit(mask, size, 2), 2); TEST_UINT(find_next_bit(mask, size, 7), 7); TEST_UINT(find_next_bit(mask, size, 8), size); mask[0] = 0xfe00; TEST_UINT(find_next_bit(mask, size, 0), 9); TEST_UINT(find_next_bit(mask, size, 7), 9); TEST_UINT(find_next_bit(mask, size, 8), 9); TEST_UINT(find_next_bit(mask, size, 9), 9); TEST_UINT(find_next_bit(mask, size, 10), 10); TEST_UINT(find_next_bit(mask, size, 11), 11); TEST_UINT(find_next_bit(mask, size, 15), 15); TEST_UINT(find_next_bit(mask, size, 16), size); mask[0] = 0; mask[1] = 0xfe; TEST_UINT(find_next_bit(mask, size, 0), 33); TEST_UINT(find_next_bit(mask, size, 1), 33); TEST_UINT(find_next_bit(mask, size, 31), 33); TEST_UINT(find_next_bit(mask, size, 32), 33); TEST_UINT(find_next_bit(mask, size, 33), 33); TEST_UINT(find_next_bit(mask, size, 34), 34); TEST_UINT(find_next_bit(mask, size, 39), 39); TEST_UINT(find_next_bit(mask, size, 40), size); TEST_UINT(find_next_bit(mask, size, size-1), size); } static void test_ffs(void) { /* ffs() counts LSB as bit 1 */ TEST_UINT(ffs(0), 0); TEST_UINT(ffs(1), 1); TEST_UINT(ffs(2), 2); TEST_UINT(ffs(3), 1); TEST_UINT(ffs(0x80000000), 32); /* __ffs() counts LSB as bit 0 */ /* __ffs(0) is undefined */ TEST_UINT(__ffs(1), 0); TEST_UINT(__ffs(2), 1); TEST_UINT(__ffs(3), 0); TEST_UINT(__ffs(0x80000000), 31); } void do_tests(void) { test_csum(); test_div64(); test_swab(); test_atomic_t(); test_find_next_bit(); test_ffs(); } static int __init archtest_init(void) { do_tests(); if (failed) { printk("archtest: %d test(s) failed\n", failed); } else { printk("archtest: all tests passed\n"); } return 0; } static void __exit archtest_exit(void) { } /* * We use core_initcall() so that we are called as early as possible * during boot if we are compiled in. If we are compiled as a module, * core_initcall() gets interpreted same as module_init() */ core_initcall(archtest_init); module_exit(archtest_exit); MODULE_AUTHOR("Kenn Humborg <ke...@li...>"); MODULE_LICENSE("GPL"); |
|
From: Kenn H. <ke...@us...> - 2005-03-21 18:56:20
|
Update of /cvsroot/linux-vax/kernel-2.5/init In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv14413 Modified Files: apitest.c Log Message: Add some checksum tests. Use 'archtest' as the function prefix, rather than 'apitest'. Re-design the TEST() macro to handle different types and print both actual and expected results. Add a module parameter to verbosely print passes as well as failures. Index: apitest.c =================================================================== RCS file: /cvsroot/linux-vax/kernel-2.5/init/apitest.c,v retrieving revision 1.2 retrieving revision 1.3 diff -u -d -r1.2 -r1.3 --- apitest.c 27 Feb 2005 21:33:14 -0000 1.2 +++ apitest.c 21 Mar 2005 18:55:57 -0000 1.3 @@ -1,5 +1,15 @@ +/* + * This code tests various, easily-testable parts of the "API" + * implemented by the arch-dependent code. + * You can run the tests on a live system by compiling it as + * a loadable module and loading it. + * If you compile this module into the kernel, the tests will be + * run shortly after computing the BogoMIPS value. + */ + #include <linux/module.h> #include <linux/bitops.h> +#include <net/checksum.h> #include <asm/atomic.h> #include <asm/byteorder.h> @@ -8,44 +18,109 @@ * 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> + * o Test more operations exported by <asm/checksum.h> */ +static int verbose; + +module_param(verbose, int, 0444); +MODULE_PARM_DESC(verbose, "Run tests verbosely (i.e. print PASS as well as FAIL)"); + #define TEST(expr) do { \ if (!(expr)) { \ - test_failed = 1; \ - printk("apitest: FAIL line %d: %s\n", __LINE__, #expr); \ + failed++; \ + printk("archtest:%d: FAIL %s\n", __LINE__, #expr); \ } else if (verbose) { \ - printk("apitest: PASS line %d: %s\n", __LINE__, #expr); \ + printk("archtest:%d: PASS %s\n", __LINE__, #expr); \ } \ } while (0) -static int test_failed; +#define TEST_(sign, type, format, expr, v) do { \ + sign type actual = (expr); \ + sign type expected = (v); \ + if (actual != expected) { \ + failed++; \ + printk("archtest:%d: FAIL %s == %s (was %" format "/0x%x)\n", __LINE__, #expr, #v, actual, actual); \ + } else if (verbose) { \ + printk("archtest:%d: PASS %s == %s\n", __LINE__, #expr, #v); \ + } \ +} while (0) -/* Fixme: make this a module parameter */ -static int verbose = 0; +#define TEST_USHORT(expr, v) TEST_(unsigned, short, "u", (expr), (v)) + +#define TEST_UINT(expr, v) TEST_(unsigned, int, "u", (expr), (v)) + +#define TEST_INT(expr, v) TEST_(signed, int, "d", (expr), (v)) + +static int failed; + +static void test_csum(void) +{ + unsigned char data[] = { 0, 1, 2, 3, 4, 5, 6, 7, 8, 9 }; + unsigned char data2[] = { 1, 2, 3, 4, 5, 6, 7, 8, 9, 10 }; + + + TEST_USHORT(ip_compute_csum(data, sizeof(data)), 0xe6eb); + TEST_USHORT(ip_compute_csum(data, 1), 0xffff); + TEST_USHORT(ip_compute_csum(data, 2), 0xfeff); + TEST_USHORT(ip_compute_csum(data, 3), 0xfefd); + TEST_USHORT(ip_compute_csum(data, 4), 0xfbfd); + + /* Test that alignment doesn't matter */ + TEST_USHORT(ip_compute_csum(data + 1, 1), 0xfffe); + TEST_USHORT(ip_compute_csum(data + 1, 2), 0xfdfe); + TEST_USHORT(ip_compute_csum(data + 1, 3), 0xfdfb); + TEST_USHORT(ip_compute_csum(data + 1, 4), 0xf9fb); + TEST_USHORT(ip_compute_csum(data2, 1), 0xfffe); + TEST_USHORT(ip_compute_csum(data2, 2), 0xfdfe); + TEST_USHORT(ip_compute_csum(data2, 3), 0xfdfb); + TEST_USHORT(ip_compute_csum(data2, 4), 0xf9fb); + + TEST_USHORT(ip_compute_csum(data+1, sizeof(data)-1), 0xebe6); + TEST_USHORT(ip_compute_csum(data+2, sizeof(data)-2), 0xe7eb); + TEST_USHORT(ip_compute_csum(data+3, sizeof(data)-3), 0xede7); + TEST_USHORT(ip_compute_csum(data+4, sizeof(data)-4), 0xeaed); + + /* Test with non-zero initial sum */ + TEST_USHORT(csum_fold(csum_partial(data, sizeof(data), 0x12345678)), 0x7e3f); + TEST_USHORT(csum_fold(csum_partial(data+1, sizeof(data)-1, 0x12345678)), 0x833a); + + /* TODO: test csum_fold */ + /* TODO: test csum_tcpudp_nofold */ + /* TODO: test csum_tcpudp_magic */ + + /* TODO: test ip_fast_csum */ +} static void test_div64(void) { uint64_t n; n = 20; - TEST(do_div(n,6) == 2); - TEST(n == 3); + TEST_UINT(do_div(n,6), 2); + TEST_UINT(n, 3); n = 20; - TEST(do_div(n,4) == 0); - TEST(n == 5); + TEST_UINT(do_div(n,4), 0); + TEST_UINT(n, 5); n = 1234567890123ULL; - TEST(do_div(n,1000) == 123); - TEST(n == 1234567890); + TEST_UINT(do_div(n,1000), 123); + TEST_UINT(n, 1234567890); } static void test_swab(void) { - TEST(swab16(0x1234) == 0x3412); - TEST(swab32(0x12345678) == 0x78563412); + unsigned int x; + + x = 0x1234; + TEST_UINT(swab16(x), 0x3412); + + x = 0x12345678; + TEST_UINT(swab32(x), 0x78563412); + + TEST_UINT(swab16(0x1234), 0x3412); + TEST_UINT(swab32(0x12345678), 0x78563412); } @@ -53,26 +128,26 @@ { atomic_t a = ATOMIC_INIT(5); - TEST(atomic_read(&a) == 5); + TEST_INT(atomic_read(&a), 5); atomic_set(&a, 10); - TEST(atomic_read(&a) == 10); + TEST_INT(atomic_read(&a), 10); atomic_add(3, &a); - TEST(atomic_read(&a) == 13); + TEST_INT(atomic_read(&a), 13); atomic_sub(5, &a); - TEST(atomic_read(&a) == 8); + TEST_INT(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); + TEST_INT(atomic_read(&a), 3); atomic_dec(&a); - TEST(atomic_read(&a) == 2); + TEST_INT(atomic_read(&a), 2); TEST(!atomic_dec_and_test(&a)); TEST(atomic_dec_and_test(&a)); @@ -96,27 +171,27 @@ atomic_set(&a, 0); atomic_clear_mask(0x123456, &a); - TEST(atomic_read(&a) == 0); + TEST_INT(atomic_read(&a), 0); atomic_set(&a, 0x123456); atomic_clear_mask(0x123456, &a); - TEST(atomic_read(&a) == 0); + TEST_INT(atomic_read(&a), 0); atomic_set(&a, 0xffffff); atomic_clear_mask(0x123456, &a); - TEST(atomic_read(&a) == 0xedcba9); + TEST_INT(atomic_read(&a), 0xedcba9); atomic_set(&a, 0); atomic_set_mask(0x123456, &a); - TEST(atomic_read(&a) == 0x123456); + TEST_INT(atomic_read(&a), 0x123456); atomic_set(&a, 0x123456); atomic_set_mask(0x123456, &a); - TEST(atomic_read(&a) == 0x123456); + TEST_INT(atomic_read(&a), 0x123456); atomic_set(&a, 0xffffff); atomic_set_mask(0x123456, &a); - TEST(atomic_read(&a) == 0xffffff); + TEST_INT(atomic_read(&a), 0xffffff); } static void test_find_next_bit(void) @@ -124,70 +199,71 @@ 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); + TEST_UINT(find_next_bit(mask, size, 0), size); + TEST_UINT(find_next_bit(mask, size, 1), size); + TEST_UINT(find_next_bit(mask, size, 2), size); + TEST_UINT(find_next_bit(mask, size, 7), size); + TEST_UINT(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); + TEST_UINT(find_next_bit(mask, size, 0), 1); + TEST_UINT(find_next_bit(mask, size, 1), 1); + TEST_UINT(find_next_bit(mask, size, 2), 2); + TEST_UINT(find_next_bit(mask, size, 6), 6); + TEST_UINT(find_next_bit(mask, size, 7), size); + TEST_UINT(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); + TEST_UINT(find_next_bit(mask, size, 0), 0); + TEST_UINT(find_next_bit(mask, size, 1), 1); + TEST_UINT(find_next_bit(mask, size, 2), 2); + TEST_UINT(find_next_bit(mask, size, 7), 7); + TEST_UINT(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); + TEST_UINT(find_next_bit(mask, size, 0), 9); + TEST_UINT(find_next_bit(mask, size, 7), 9); + TEST_UINT(find_next_bit(mask, size, 8), 9); + TEST_UINT(find_next_bit(mask, size, 9), 9); + TEST_UINT(find_next_bit(mask, size, 10), 10); + TEST_UINT(find_next_bit(mask, size, 11), 11); + TEST_UINT(find_next_bit(mask, size, 15), 15); + TEST_UINT(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_UINT(find_next_bit(mask, size, 0), 33); + TEST_UINT(find_next_bit(mask, size, 1), 33); + TEST_UINT(find_next_bit(mask, size, 31), 33); + TEST_UINT(find_next_bit(mask, size, 32), 33); + TEST_UINT(find_next_bit(mask, size, 33), 33); + TEST_UINT(find_next_bit(mask, size, 34), 34); + TEST_UINT(find_next_bit(mask, size, 39), 39); + TEST_UINT(find_next_bit(mask, size, 40), size); - TEST(find_next_bit(mask, size, size-1) == size); + TEST_UINT(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); + TEST_UINT(ffs(0), 0); + TEST_UINT(ffs(1), 1); + TEST_UINT(ffs(2), 2); + TEST_UINT(ffs(3), 1); + TEST_UINT(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); + TEST_UINT(__ffs(1), 0); + TEST_UINT(__ffs(2), 1); + TEST_UINT(__ffs(3), 0); + TEST_UINT(__ffs(0x80000000), 31); } void do_tests(void) { + test_csum(); test_div64(); test_swab(); test_atomic_t(); @@ -195,23 +271,31 @@ test_ffs(); } -static int __init apitest_init(void) +static int __init archtest_init(void) { do_tests(); - if (test_failed) { - printk("apitest: at least one test failed\n"); + if (failed) { + printk("archtest: %d test(s) failed\n", failed); } else { - printk("apitest: all tests passed\n"); + printk("archtest: all tests passed\n"); } return 0; } -static void __exit apitest_exit(void) +static void __exit archtest_exit(void) { } -core_initcall(apitest_init); -module_exit(apitest_exit); + +/* + * We use core_initcall() so that we are called as early as possible + * during boot if we are compiled in. If we are compiled as a module, + * core_initcall() gets interpreted same as module_init() + */ +core_initcall(archtest_init); +module_exit(archtest_exit); + +MODULE_AUTHOR("Kenn Humborg <ke...@li...>"); MODULE_LICENSE("GPL"); |
|
From: Kenn H. <ke...@us...> - 2005-03-10 00:35:47
|
Update of /cvsroot/linux-vax/kernel-2.5/include/asm-vax In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv1941 Modified Files: checksum.h Log Message: include of in6.h is not needed Index: checksum.h =================================================================== RCS file: /cvsroot/linux-vax/kernel-2.5/include/asm-vax/checksum.h,v retrieving revision 1.6 retrieving revision 1.7 diff -u -d -r1.6 -r1.7 --- checksum.h 8 Oct 2003 22:37:16 -0000 1.6 +++ checksum.h 10 Mar 2005 00:35:35 -0000 1.7 @@ -1,7 +1,6 @@ #ifndef _VAX_CHECKSUM_H #define _VAX_CHECKSUM_H -#include <linux/in6.h> #include <asm/uaccess.h> /* |
|
From: Jan-Benedict G. <jb...@us...> - 2005-03-08 09:02:07
|
Update of /cvsroot/linux-vax/kernel-2.5/scripts In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv25928 Modified Files: checkstack.pl Log Message: - This is the VAX regexp for checkstack.pl . It now can check for excessive stack usage even for us. However, a patched objdump may be needed to correctly recognize the function entry mask (if it is disassembled as instruction(s), chances are that subl2 off the sp are wrongly decoded). - Fortunately, I've written such a patch 8^> Index: checkstack.pl =================================================================== RCS file: /cvsroot/linux-vax/kernel-2.5/scripts/checkstack.pl,v retrieving revision 1.1.1.2 retrieving revision 1.2 diff -u -d -r1.1.1.2 -r1.2 --- checkstack.pl 2 Sep 2004 18:34:37 -0000 1.1.1.2 +++ checkstack.pl 8 Mar 2005 09:01:55 -0000 1.2 @@ -11,6 +11,7 @@ # Arm port by Holger Schurig # Random bits by Matt Mackall <mp...@se...> # M68k port by Geert Uytterhoeven and Andreas Schwab +# VAX port by Jan-Benedict Glaw <jb...@lu...> # # Usage: # objdump -d vmlinux | stackcheck.pl [arch] @@ -58,6 +59,10 @@ } elsif ($arch eq 'ppc64') { #XXX $re = qr/.*stdu.*r1,-($x{1,8})\(r1\)/o; + } elsif ($arch eq 'vax') { + # 80104ec2: c2 10 5e subl2 $0x10,sp + # 8019d880: 9e ce b0 fe movab 0xfffffeb0(sp),sp + $re = qr/^.*(?:subl2 \$|movab )(0x$x{1,8})(?:,sp|\(sp\),sp)$/o; } elsif ($arch =~ /^s390x?$/) { # 11160: a7 fb ff 60 aghi %r15,-160 $re = qr/.*ag?hi.*\%r15,-(([0-9]{2}|[3-9])[0-9]{2})/o; |
|
From: Jan-Benedict G. <jb...@us...> - 2005-03-08 08:27:05
|
Update of /cvsroot/linux-vax/kernel-2.5/Documentation/vax In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv18417 Added Files: keep_an_eye_on.txt Log Message: - This file contains little tasks that are not (yet) really important, but _may_ need fixing at some time. Most of this stuff should be pretty obvious to do, so it's potentially items for VAX starters :) --- NEW FILE: keep_an_eye_on.txt --- This file contains various items that are about to change in any of the important upstream kernel trees. Whenever you see patches flying around on LKML that do have impact for the VAX tree (ie. new Kconfig entries, function deprecation, ...) please add a note here so that in can be revised later on. - Mar 4, 2005, "[PATCH][0/10] verify_area cleanup" Check if we're using verify_area() anywhere and change it over to access_ok(): - if (verify_area(VERIFY_WRITE, buf, count)) + if (!access_ok(VERIFY_WRITE, buf, count)) - Mar 7, 2005: "[0/many] Acrypto - asynchronous crypto layer for linux kernel 2.6" If the asynchronous crypto stuff is accepted, don't forget to add 'source "acrypto/Kconfig"' into ./arch/vax/Kconfig, somewhere between crypto/Kconfig and lib/Kconfig. - Mar 7, 2005: "[bk, patches] Input update" Vojtech Pavlik prepared a patchset that shifts over all Input API drivers to something like the struct driver thing. lkkbd.c and vsxxxaa.c may need checking. |
|
From: Jan-Benedict G. <jb...@us...> - 2005-03-06 06:54:26
|
Update of /cvsroot/linux-vax/kernel-2.5/drivers/input/keyboard In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv1616 Modified Files: lkkbd.c Log Message: - The plug on a LK201 isn't called RJ11 (6P4C), but RJ10 (4P4C)... Index: lkkbd.c =================================================================== RCS file: /cvsroot/linux-vax/kernel-2.5/drivers/input/keyboard/lkkbd.c,v retrieving revision 1.30 retrieving revision 1.31 diff -u -d -r1.30 -r1.31 --- lkkbd.c 25 Feb 2005 18:06:16 -0000 1.30 +++ lkkbd.c 6 Mar 2005 06:54:16 -0000 1.31 @@ -14,14 +14,14 @@ * DISCLAIMER: This works for _me_. If you break anything by using the * information given below, I will _not_ be liable! * - * RJ11 pinout: To DE9: Or DB25: + * RJ10 pinout: To DE9: Or DB25: * 1 - RxD <----> Pin 3 (TxD) <-> Pin 2 (TxD) * 2 - GND <----> Pin 5 (GND) <-> Pin 7 (GND) * 4 - TxD <----> Pin 2 (RxD) <-> Pin 3 (RxD) * 3 - +12V (from HDD drive connector), DON'T connect to DE9 or DB25!!! * * Pin numbers for DE9 and DB25 are noted on the plug (quite small:). For - * RJ11, it's like this: + * RJ10, it's like this: * * __=__ Hold the plug in front of you, cable downwards, * /___/| nose is hidden behind the plug. Now, pin 1 is at |
|
From: Kenn H. <ke...@us...> - 2005-02-28 22:48:01
|
Update of /cvsroot/linux-vax/kernel-2.5/drivers/vax/scsi In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv10499/drivers/vax/scsi Modified Files: vax-5380.c Log Message: Add plumbing for driver unloading to silence warning about NCR5380_exit being unused. Also add module license. Index: vax-5380.c =================================================================== RCS file: /cvsroot/linux-vax/kernel-2.5/drivers/vax/scsi/vax-5380.c,v retrieving revision 1.5 retrieving revision 1.6 diff -u -d -r1.5 -r1.6 --- vax-5380.c 24 Feb 2005 23:35:00 -0000 1.5 +++ vax-5380.c 28 Feb 2005 22:47:49 -0000 1.6 @@ -50,7 +50,8 @@ #include "../../scsi/NCR5380.c" -const char *vax_5380_info (struct Scsi_Host *spnt) { +const char *vax_5380_info (struct Scsi_Host *spnt) +{ return ""; } @@ -124,17 +125,41 @@ return retval; } +static void __devexit vax_5380_remove(struct vsbus_device *vsbus_dev) +{ + struct Scsi_Host *host = dev_get_drvdata(&vsbus_dev->dev); + + scsi_remove_host(host); + + vsbus_free_irq(host->irq); + NCR5380_exit(host); + iounmap((void *)host->base); + + scsi_host_put(host); +} + static struct vsbus_driver vax_5380_driver = { .probe = vax_5380_probe, + .remove = __devexit_p(vax_5380_remove), .drv = { .name = "vax-5380", }, }; -int __init vax_5380_init(void) +static int __init vax_5380_init(void) { return vsbus_register_driver(&vax_5380_driver); } -device_initcall(vax_5380_init); +static void __exit vax_5380_exit(void) +{ + vsbus_unregister_driver(&vax_5380_driver); +} + +module_init(vax_5380_init); +module_exit(vax_5380_exit); + +MODULE_AUTHOR("Kenn Humborg"); +MODULE_DESCRIPTION("VAX NCR5380 SCSI driver for KA42,KA43"); +MODULE_LICENSE("GPL"); |
|
From: Kenn H. <ke...@us...> - 2005-02-28 22:46:30
|
Update of /cvsroot/linux-vax/kernel-2.5/include/asm-vax/bus In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv9970/include/asm-vax/bus Modified Files: vsbus.h Log Message: Initial cut at support for driver removal in VSBUS drivers. This is untested, since we don't have support for loadable modules yet. Index: vsbus.h =================================================================== RCS file: /cvsroot/linux-vax/kernel-2.5/include/asm-vax/bus/vsbus.h,v retrieving revision 1.2 retrieving revision 1.3 diff -u -d -r1.2 -r1.3 --- vsbus.h 18 Sep 2004 23:06:34 -0000 1.2 +++ vsbus.h 28 Feb 2005 22:46:19 -0000 1.3 @@ -41,6 +41,7 @@ struct vsbus_driver { int (*probe)(struct vsbus_device *vsbus_dev); + void (*remove)(struct vsbus_device *vsbus_dev); struct device_driver drv; }; |
|
From: Kenn H. <ke...@us...> - 2005-02-28 22:46:30
|
Update of /cvsroot/linux-vax/kernel-2.5/drivers/vax/bus In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv9970/drivers/vax/bus Modified Files: vsbus.c Log Message: Initial cut at support for driver removal in VSBUS drivers. This is untested, since we don't have support for loadable modules yet. Index: vsbus.c =================================================================== RCS file: /cvsroot/linux-vax/kernel-2.5/drivers/vax/bus/vsbus.c,v retrieving revision 1.2 retrieving revision 1.3 diff -u -d -r1.2 -r1.3 --- vsbus.c 18 Sep 2004 23:06:33 -0000 1.2 +++ vsbus.c 28 Feb 2005 22:46:19 -0000 1.3 @@ -210,6 +210,16 @@ /* These functions support the VSBUS bus type for the driver model */ +static int vsbus_drv_remove(struct device *dev) +{ + struct vsbus_device *vsbus_dev = VSBUS_DEV(dev); + struct vsbus_driver *vsbus_drv = VSBUS_DRV(dev->driver); + + vsbus_drv->remove(vsbus_dev); + + return 0; +} + int vsbus_register_device(struct vsbus_device *vsbus_dev) { return device_register(&vsbus_dev->dev); @@ -218,10 +228,12 @@ int vsbus_register_driver(struct vsbus_driver *drv) { drv->drv.bus = &vsbus_bus_type; + drv->drv.remove = vsbus_drv_remove; return driver_register(&drv->drv); } + void vsbus_unregister_driver(struct vsbus_driver *drv) { return driver_unregister(&drv->drv); |
|
From: Kenn H. <ke...@us...> - 2005-02-28 22:15:05
|
Update of /cvsroot/linux-vax/kernel-2.5/include/asm-vax In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv1373/include/asm-vax Modified Files: bitops.h Log Message: FFS and FFC instructions cannot take immediate arguments Index: bitops.h =================================================================== RCS file: /cvsroot/linux-vax/kernel-2.5/include/asm-vax/bitops.h,v retrieving revision 1.17 retrieving revision 1.18 diff -u -d -r1.17 -r1.18 --- bitops.h 25 Feb 2005 21:40:58 -0000 1.17 +++ bitops.h 28 Feb 2005 22:14:56 -0000 1.18 @@ -331,8 +331,8 @@ static __inline__ unsigned long ffz(unsigned long word) { __asm__("ffc $0, $32, %1 , %0\n" - :"=ir" (word) - :"ir" (word)); + :"=rm" (word) + :"rm" (word)); return word; } @@ -344,9 +344,9 @@ */ static __inline__ unsigned long __ffs(unsigned long word) { - __asm__("ffs $0, $32, %1 , %0\n" - :"=ir" (word) - :"ir" (word)); + __asm__("ffs $0, $32, %1, %0\n" + :"=rm" (word) + :"rm" (word)); return word; } |