You can subscribe to this list here.
2000 |
Jan
|
Feb
|
Mar
(9) |
Apr
(27) |
May
(5) |
Jun
(8) |
Jul
(50) |
Aug
(286) |
Sep
(2) |
Oct
(43) |
Nov
(4) |
Dec
(12) |
---|---|---|---|---|---|---|---|---|---|---|---|---|
2001 |
Jan
(79) |
Feb
(102) |
Mar
(29) |
Apr
(2) |
May
(22) |
Jun
(41) |
Jul
(11) |
Aug
(28) |
Sep
(58) |
Oct
(4) |
Nov
(18) |
Dec
(8) |
2002 |
Jan
(2) |
Feb
(2) |
Mar
(1) |
Apr
(478) |
May
(469) |
Jun
(78) |
Jul
(16) |
Aug
(2) |
Sep
(7) |
Oct
(47) |
Nov
(5) |
Dec
(227) |
2003 |
Jan
(155) |
Feb
(188) |
Mar
(160) |
Apr
(172) |
May
(41) |
Jun
(205) |
Jul
(104) |
Aug
(289) |
Sep
(31) |
Oct
|
Nov
|
Dec
|
2004 |
Jan
|
Feb
|
Mar
|
Apr
|
May
(1) |
Jun
|
Jul
|
Aug
|
Sep
|
Oct
|
Nov
|
Dec
|
From: Andy P. <at...@us...> - 2001-02-15 01:26:17
|
Update of /cvsroot/linux-vax/kernel-2.4/arch/vax/boot In directory usw-pr-cvs1:/tmp/cvs-serv31452/boot Modified Files: head.S tmp_init.c Log Message: pagelet updates, MM updates. shot 9 Index: head.S =================================================================== RCS file: /cvsroot/linux-vax/kernel-2.4/arch/vax/boot/head.S,v retrieving revision 1.2 retrieving revision 1.3 diff -u -r1.2 -r1.3 --- head.S 2001/01/26 00:27:00 1.2 +++ head.S 2001/02/15 01:26:58 1.3 @@ -192,7 +192,9 @@ # this to access all of RAM via the kernel _page_offset mapping. # # PAGE_OFFSET here is 0x80000000 - the start of system space. - +# +# swapper_pg_dir is actually a pgd_t. The spt is the third entry. +# p0br/p0lr, p1br/p1lr, sbr/slr # First find a suitable start position for the SPT. This must be # longword aligned addl3 $4, phys_kern_end, r5 Index: tmp_init.c =================================================================== RCS file: /cvsroot/linux-vax/kernel-2.4/arch/vax/boot/tmp_init.c,v retrieving revision 1.3 retrieving revision 1.4 diff -u -r1.3 -r1.4 --- tmp_init.c 2001/01/29 01:09:18 1.3 +++ tmp_init.c 2001/02/15 01:26:58 1.4 @@ -107,14 +107,14 @@ * Interrupts are still disabled. Do necessary setups, then * enable them */ - /* Protect us from interrupt stack overflows */ - guard_int_stack(); + guard_int_stack(); /* If it is possible to register a console for your machine at this point in the boot sequence, do so in post_vm_init(). Otherwise, implement mv->console_init() which will be called later. */ + mv->post_vm_init(); #ifdef __SMP__ |
From: Andy P. <at...@us...> - 2001-02-15 01:26:17
|
Update of /cvsroot/linux-vax/kernel-2.4/arch/vax/kernel In directory usw-pr-cvs1:/tmp/cvs-serv31452/kernel Modified Files: cpu_ka46.c interrupt.c setup.c Log Message: pagelet updates, MM updates. shot 9 Index: cpu_ka46.c =================================================================== RCS file: /cvsroot/linux-vax/kernel-2.4/arch/vax/kernel/cpu_ka46.c,v retrieving revision 1.1 retrieving revision 1.2 diff -u -r1.1 -r1.2 --- cpu_ka46.c 2001/01/17 16:13:57 1.1 +++ cpu_ka46.c 2001/02/15 01:26:58 1.2 @@ -74,8 +74,8 @@ void ka46_post_vm_init(void) { init_dz11_console(0x200A0000, 3); - dz_serial_console_init(0, 0); + asm("halt"); } const char *ka46_cpu_type_str(void) Index: interrupt.c =================================================================== RCS file: /cvsroot/linux-vax/kernel-2.4/arch/vax/kernel/interrupt.c,v retrieving revision 1.5 retrieving revision 1.6 diff -u -r1.5 -r1.6 --- interrupt.c 2001/01/29 00:56:19 1.5 +++ interrupt.c 2001/02/15 01:26:58 1.6 @@ -22,9 +22,9 @@ #include "interrupt.h" /* Local, private definitions */ -unsigned char __attribute((__aligned__(VPAGE_SIZE))) interrupt_stack[NR_CPUS][INT_STACK_SIZE]; +unsigned char __attribute((__aligned__(PAGE_SIZE))) interrupt_stack[NR_CPUS][INT_STACK_SIZE]; -union scb_and_device_vectors __attribute((__aligned__(VPAGE_SIZE))) scb; +union scb_and_device_vectors __attribute((__aligned__(PAGE_SIZE))) scb; /* Statically-defined pool of irqvector structures. This will go once we have a working kmalloc()/kfree(). @@ -48,22 +48,34 @@ void guard_int_stack(void) { - pte_t *p; - - if (INT_STACK_SIZE <= VPAGE_SIZE) { - printk("Interrupt stack too small, must be > VPAGE_SIZE\n"); + pte_t p, *q; + unsigned char *t, *s; + t = &interrupt_stack[0]; + s = SPT_BASE; + /* Do we need more than a page for the int stack? */ + if (INT_STACK_SIZE < PAGE_SIZE) { + printk("Interrupt stack too small, must be > PAGE_SIZE\n"); machine_halt(); } - - p = GET_SPTE_VIRT(interrupt_stack[smp_processor_id()]); + /* FIXME: kenn - does this want to be a 4k page or a hardware page ? */ + /* see include/asm/mm/pgtable.h */ +/* q = (((unsigned long) &interrupt_stack[smp_processor_id()])-PAGE_OFFSET)>>PAGELET_SHIFT;*/ + q = GET_HWSPTE_VIRT(&interrupt_stack[smp_processor_id()]); /* Set first page of interrupt stack area to kernel read, thus trapping any writes to this page. This will catch attempts to expand the interrupt stack before they can do any damage. */ - pte_val(*p) &= ~PAGE_PROT_MASK; - pte_val(*p) |= _PAGE_KR; + /* if this is a 4k page - need to use set_pte here */ + p = mk_pte(&interrupt_stack[smp_processor_id()],__pgprot(_PAGE_KR|_PAGE_VALID)); +/* debug hwpte calculations FIXME: remove */ +/* asm("movl %0, r2\n" + "movl %1 ,r3\n" + "movl %2 ,r4\n" + "halt" : : "g"(q), "g"(t), "g"(s) ); */ + set_pte(q, p); + __flush_tlb_one(interrupt_stack[smp_processor_id()]); } Index: setup.c =================================================================== RCS file: /cvsroot/linux-vax/kernel-2.4/arch/vax/kernel/setup.c,v retrieving revision 1.3 retrieving revision 1.4 diff -u -r1.3 -r1.4 --- setup.c 2001/01/29 00:58:11 1.3 +++ setup.c 2001/02/15 01:26:58 1.4 @@ -14,9 +14,11 @@ #include <linux/bootmem.h> #include <linux/init.h> #include <linux/string.h> +#include <linux/delay.h> #include <asm/rpb.h> #include <asm/page.h> +#include <asm/mv.h> #define COMMAND_LINE_SIZE 256 @@ -29,6 +31,28 @@ /* Linker will put this at the end of the kernel image */ extern char _end; +/* + * BUFFER is PAGE_SIZE bytes long. + */ +int get_cpuinfo(char *buffer) +{ + int len; + + len = sprintf(buffer, "cpu\t\t\t: VAX\n" + "cpu type\t\t: %s\n" + "cpu sidex\t\t: %d\n" + "page size\t\t: %ld\n" + "BogoMIPS\t\t: %lu.%02lu\n", + (char *)mv->cpu_type_str, + /* mv->sidex */ + 0x0, + PAGE_SIZE, + loops_per_jiffy / (500000/HZ), + (loops_per_jiffy / (5000/HZ)) % 100); + return len; +} + + void __init setup_arch(char **cmdline_p) { unsigned long bootmap_size; @@ -71,6 +95,7 @@ memset(¤t->thread.pcb, 0, sizeof(current->thread.pcb)); current->thread.pcb.astlvl = 4; + /* swapper_pg_dir is a 4 x pgd_t array */ SET_PAGE_DIR(current, swapper_pg_dir); /* No root filesystem yet */ |
From: Andy P. <at...@us...> - 2001-02-15 01:21:07
|
Update of /cvsroot/linux-vax/kernel-2.4/include/asm-vax/mm In directory usw-pr-cvs1:/tmp/cvs-serv31075 Removed Files: virt_trans.h vpage.h pgjunk.h Log Message: pagelet updates, mm updates, shot 7 --- virt_trans.h DELETED --- --- vpage.h DELETED --- --- pgjunk.h DELETED --- |
From: Andy P. <at...@us...> - 2001-02-15 01:15:24
|
Update of /cvsroot/linux-vax/kernel-2.4/include/asm-vax/mm In directory usw-pr-cvs1:/tmp/cvs-serv30447 Added Files: cache.h Log Message: Test commit. --- NEW FILE --- #ifndef __VAX_MM_CACHE_H #define __VAX_MM_CACHE_H /* * cache.h. Definitions for cache structures/routines. * Copyright atp Jan 2001 */ /* FIXME: double check this. VAX hw ref guide pg 274 */ /* Also see flush cache arch document by D. Mosberger */ #define flush_cache_all() do { } while (0) #define flush_cache_mm(mm) do { } while (0) #define flush_cache_range(mm, start, end) do { } while (0) #define flush_cache_page(vma, vmaddr) do { } while (0) #define flush_page_to_ram(page) do { } while (0) #define flush_dcache_page(page) do { } while (0) /* Flushing the instruction cache is all-or-nothing on VAX. */ #define flush_icache_range(start, end) flush_icache() #define flush_icache_page(vma, pg) flush_icache() static inline void flush_icache(void) { /* Push a PC/PSL onto the stack so it looks like we got an interrupt, and then REI */ __asm__ ( " movpsl -(sp) \n" " pushab 1f \n" " rei \n" "1: " : : ); } #endif /* __VAX_MM_CACHE_H */ |
From: Andy P. <at...@us...> - 2001-02-15 01:06:56
|
Update of /cvsroot/linux-vax/kernel-2.4/include/asm-vax/mm In directory usw-pr-cvs1:/tmp/cvs-serv29599 Removed Files: pgcompat.h Log Message: removal of old file. superseded by pagelet stuff --- pgcompat.h DELETED --- |
From: Kenn H. <ke...@us...> - 2001-02-11 23:57:40
|
Update of /cvsroot/linux-vax/kernel-2.4/arch/vax/kernel In directory usw-pr-cvs1:/tmp/cvs-serv5561 Modified Files: cpu_ka42.c cpu_ka43.c Log Message: We no longer explicitly call vax_lance_probe(). It's now handled by an initcall. Index: cpu_ka42.c =================================================================== RCS file: /cvsroot/linux-vax/kernel-2.4/arch/vax/kernel/cpu_ka42.c,v retrieving revision 1.2 retrieving revision 1.3 diff -u -r1.2 -r1.3 --- cpu_ka42.c 2001/01/26 00:27:00 1.2 +++ cpu_ka42.c 2001/02/11 23:58:11 1.3 @@ -76,9 +76,6 @@ #ifdef CONFIG_VSABUS vsa_setup(); #endif -#ifdef CONFIG_VAX_LANCE - vax_lance_probe(0); -#endif } const char *ka42_cpu_type_str(void) Index: cpu_ka43.c =================================================================== RCS file: /cvsroot/linux-vax/kernel-2.4/arch/vax/kernel/cpu_ka43.c,v retrieving revision 1.2 retrieving revision 1.3 diff -u -r1.2 -r1.3 --- cpu_ka43.c 2001/01/26 00:27:00 1.2 +++ cpu_ka43.c 2001/02/11 23:58:11 1.3 @@ -143,11 +143,6 @@ { #ifdef CONFIG_VSABUS vsa_setup(); - -#ifdef CONFIG_VAX_LANCE - vax_lance_probe(0); -#endif /* CONFIG_VAX_LANCE */ - #endif /* CONFIG_VSABUS */ } |
From: Kenn H. <ke...@us...> - 2001-02-11 23:56:45
|
Update of /cvsroot/linux-vax/kernel-2.4/drivers/net In directory usw-pr-cvs1:/tmp/cvs-serv5522 Modified Files: vaxlance.c Log Message: Mark vax_lance_probe as an initcall Index: vaxlance.c =================================================================== RCS file: /cvsroot/linux-vax/kernel-2.4/drivers/net/vaxlance.c,v retrieving revision 1.3 retrieving revision 1.4 diff -u -r1.3 -r1.4 --- vaxlance.c 2001/02/11 19:05:20 1.3 +++ vaxlance.c 2001/02/11 23:57:16 1.4 @@ -1082,6 +1082,8 @@ return -ENODEV; } +__initcall(vax_lance_probe); + /* #ifdef MODULE |
From: Kenn H. <ke...@us...> - 2001-02-11 23:55:54
|
Update of /cvsroot/linux-vax/kernel-2.4/drivers/char In directory usw-pr-cvs1:/tmp/cvs-serv5451 Modified Files: tty_io.c Log Message: Temporarily remove the check that panics if the page size is smaller than a tty_struct Index: tty_io.c =================================================================== RCS file: /cvsroot/linux-vax/kernel-2.4/drivers/char/tty_io.c,v retrieving revision 1.1.1.1 retrieving revision 1.2 diff -u -r1.1.1.1 -r1.2 --- tty_io.c 2001/01/14 17:50:46 1.1.1.1 +++ tty_io.c 2001/02/11 23:56:25 1.2 @@ -2219,8 +2219,10 @@ */ void __init tty_init(void) { +#if 0 /* temporary for VAX */ if (sizeof(struct tty_struct) > PAGE_SIZE) panic("size of tty structure > PAGE_SIZE!"); +#endif /* * dev_tty_driver and dev_console_driver are actually magic |
From: Kenn H. <ke...@us...> - 2001-02-11 23:46:54
|
Update of /cvsroot/linux-vax/kernel-2.4/arch/vax/kernel In directory usw-pr-cvs1:/tmp/cvs-serv4796 Modified Files: cpu_ka55.c Log Message: Oops - typo Index: cpu_ka55.c =================================================================== RCS file: /cvsroot/linux-vax/kernel-2.4/arch/vax/kernel/cpu_ka55.c,v retrieving revision 1.2 retrieving revision 1.3 diff -u -r1.2 -r1.3 --- cpu_ka55.c 2001/02/11 23:41:08 1.2 +++ cpu_ka55.c 2001/02/11 23:47:25 1.3 @@ -58,7 +58,7 @@ void ka55_prom_putchar(int c) { asm (" - mov $0x2014044b, r11 # console page addr + movl $0x2014044b, r11 # console page addr 1: jsb *0x20(r11) # ready to TX? blbc r0, 1b |
From: Kenn H. <ke...@us...> - 2001-02-11 23:40:36
|
Update of /cvsroot/linux-vax/kernel-2.4/arch/vax/kernel In directory usw-pr-cvs1:/tmp/cvs-serv4435 Modified Files: cpu_ka55.c Log Message: This should hopefully give us early console output on KA55 (MV3100m85) Index: cpu_ka55.c =================================================================== RCS file: /cvsroot/linux-vax/kernel-2.4/arch/vax/kernel/cpu_ka55.c,v retrieving revision 1.1 retrieving revision 1.2 diff -u -r1.1 -r1.2 --- cpu_ka55.c 2001/02/06 00:15:42 1.1 +++ cpu_ka55.c 2001/02/11 23:41:08 1.2 @@ -19,6 +19,8 @@ void ka55_pre_vm_init(void); void ka55_post_vm_init(void); +void ka55_prom_putchar(int); +int ka55_prom_getchar(void); const char *ka55_cpu_type_str(void); @@ -32,9 +34,8 @@ ka55_pre_vm_init, ka55_post_vm_init, - /* FIXME: these two are just a guess */ - ka46_48_49_prom_putchar, /* pre_vm_putchar */ - ka46_48_49_prom_getchar, /* pre_vm_getchar */ + ka55_prom_putchar, /* pre_vm_putchar */ + ka55_prom_getchar, /* pre_vm_getchar */ dz11_putchar, /* post_vm_putchar */ dz11_getchar, /* post_vm_getchar */ @@ -54,6 +55,27 @@ /* Defined over in drivers/char/dz.c */ extern unsigned long dz_serial_console_init(unsigned long, unsigned long); +void ka55_prom_putchar(int c) +{ + asm (" + mov $0x2014044b, r11 # console page addr + 1: + jsb *0x20(r11) # ready to TX? + blbc r0, 1b + movl %0, r1 + jsb *0x24(r11) # TX char in R11 + " : /* no outputs */ + : "g"(c) + : "r0", "r1", "r11" ); +} + +int ka55_prom_getchar(void) +{ + /* Not yet implemented */ + asm("halt"); + return 0; +} + void ka55_pre_vm_init(void) { @@ -62,7 +84,7 @@ void ka55_post_vm_init(void) { - init_dz11_console(0x200A0000, 3); + init_dz11_console(0x25000000, 3); dz_serial_console_init(0, 0); } |
From: Dave A. <ai...@us...> - 2001-02-11 19:04:49
|
Update of /cvsroot/linux-vax/kernel-2.4/drivers/net In directory usw-pr-cvs1:/tmp/cvs-serv12448 Modified Files: Makefile vaxlance.c Log Message: added vaxlance.c to the compile list fix typo in vaxlance.c Index: Makefile =================================================================== RCS file: /cvsroot/linux-vax/kernel-2.4/drivers/net/Makefile,v retrieving revision 1.1.1.1 retrieving revision 1.2 diff -u -r1.1.1.1 -r1.2 --- Makefile 2001/01/14 17:18:08 1.1.1.1 +++ Makefile 2001/02/11 19:05:20 1.2 @@ -188,6 +188,7 @@ obj-$(CONFIG_MIPS_JAZZ_SONIC) += jazzsonic.o obj-$(CONFIG_SGI_IOC3_ETH) += ioc3-eth.o obj-$(CONFIG_BAGETLANCE) += bagetlance.o +obj-$(CONFIG_VAX_LANCE) += vaxlance.o obj-$(CONFIG_DECLANCE) += declance.o obj-$(CONFIG_ATARILANCE) += atarilance.o obj-$(CONFIG_ATARI_BIONET) += atari_bionet.o Index: vaxlance.c =================================================================== RCS file: /cvsroot/linux-vax/kernel-2.4/drivers/net/vaxlance.c,v retrieving revision 1.2 retrieving revision 1.3 diff -u -r1.2 -r1.3 --- vaxlance.c 2001/01/20 23:45:25 1.2 +++ vaxlance.c 2001/02/11 19:05:20 1.3 @@ -1068,7 +1068,7 @@ /* Find all the lance cards on the system and initialize them */ -static int __init dec_lance_probe(void) +static int __init vax_lance_probe(void) { struct net_device *dev = NULL; static int called = 0; |
From: Kenn H. <ke...@us...> - 2001-02-06 00:15:28
|
Update of /cvsroot/linux-vax/kernel-2.4/arch/vax/kernel In directory usw-pr-cvs1:/tmp/cvs-serv6404/arch/vax/kernel Modified Files: Makefile Added Files: cpu_ka55.c Log Message: Tentative early support for KA55 CPU (MicroVAX 3100m85). I really need to check with NetBSD on this one --- NEW FILE --- /* * $Id: cpu_ka55.c,v 1.1 2001/02/06 00:15:42 kenn Exp $ * * Copyright (C) 2000 Kenn Humborg * * This file contains generic machine vector handlers for the * KA5 CPU in the NVAX-based MicroVAX 3100 Model 85 * */ #include <linux/types.h> /* For NULL */ #include <linux/kernel.h> /* For printk */ #include <linux/config.h> #include <asm/mtpr.h> #include <asm/mv.h> #include <asm/vaxcpu.h> void ka55_pre_vm_init(void); void ka55_post_vm_init(void); const char *ka55_cpu_type_str(void); struct ka55_machine_vector { struct vax_mv mv; unsigned int sidex; }; struct ka55_machine_vector mv_ka55 = { { ka55_pre_vm_init, ka55_post_vm_init, /* FIXME: these two are just a guess */ ka46_48_49_prom_putchar, /* pre_vm_putchar */ ka46_48_49_prom_getchar, /* pre_vm_getchar */ dz11_putchar, /* post_vm_putchar */ dz11_getchar, /* post_vm_getchar */ NULL, /* console_init */ NULL, /* reboot */ NULL, /* halt */ NULL, /* init_devices */ ka55_cpu_type_str }, 0 /* System ID Extension from ROM */ }; /* Defined over in drivers/char/dz.c */ extern unsigned long dz_serial_console_init(unsigned long, unsigned long); void ka55_pre_vm_init(void) { mv_ka55.sidex = *(unsigned int *)RIGEL_SIDEX_ADDR; } void ka55_post_vm_init(void) { init_dz11_console(0x200A0000, 3); dz_serial_console_init(0, 0); } const char *ka55_cpu_type_str(void) { return "KA55"; } Index: Makefile =================================================================== RCS file: /cvsroot/linux-vax/kernel-2.4/arch/vax/kernel/Makefile,v retrieving revision 1.4 retrieving revision 1.5 diff -u -r1.4 -r1.5 --- Makefile 2001/01/29 01:09:18 1.4 +++ Makefile 2001/02/06 00:15:42 1.5 @@ -15,7 +15,7 @@ syscall.o signal.o semaphore.o \ init_task.o reboot.o cpu_generic.o \ cpu_ka630.o cpu_ka640.o cpu_ka650.o cpu_ka660.o \ - cpu_ka410.o cpu_ka42.o cpu_ka43.o cpu_ka46.o + cpu_ka410.o cpu_ka42.o cpu_ka43.o cpu_ka46.o cpu_ka55.o OX_OBJS := MX_OBJS := |
From: Kenn H. <ke...@us...> - 2001-02-06 00:15:28
|
Update of /cvsroot/linux-vax/kernel-2.4/arch/vax/boot In directory usw-pr-cvs1:/tmp/cvs-serv6404/arch/vax/boot Modified Files: cpu_sel.S Log Message: Tentative early support for KA55 CPU (MicroVAX 3100m85). I really need to check with NetBSD on this one Index: cpu_sel.S =================================================================== RCS file: /cvsroot/linux-vax/kernel-2.4/arch/vax/boot/cpu_sel.S,v retrieving revision 1.2 retrieving revision 1.3 diff -u -r1.2 -r1.3 --- cpu_sel.S 2001/01/26 00:27:00 1.2 +++ cpu_sel.S 2001/02/06 00:15:42 1.3 @@ -56,7 +56,6 @@ vax_730: vax_8600: vax_uvax1: -vax_nvax: /* Fall through to unsupported_cpu_family */ # Type E/I PR$_SID at console to get SID register value and report to @@ -190,4 +189,14 @@ # so we just assume KA46 (VAXstation 4000/60) moval mv_ka46, mv rsb + +/***************************************************************************/ +/* MARIAH support */ + +vax_nvax: +# Do not know how to interpret the SID or SIDEX for NVAX-based machines, +# so we just assume KA55 (MicroVAX 3100m85) + moval mv_ka55, mv + rsb + |
From: Kenn H. <ke...@us...> - 2001-02-06 00:15:28
|
Update of /cvsroot/linux-vax/kernel-2.4/include/asm-vax In directory usw-pr-cvs1:/tmp/cvs-serv6404/include/asm Modified Files: vaxcpu.h Log Message: Tentative early support for KA55 CPU (MicroVAX 3100m85). I really need to check with NetBSD on this one Index: vaxcpu.h =================================================================== RCS file: /cvsroot/linux-vax/kernel-2.4/include/asm-vax/vaxcpu.h,v retrieving revision 1.2 retrieving revision 1.3 diff -u -r1.2 -r1.3 --- vaxcpu.h 2001/01/23 23:57:07 1.2 +++ vaxcpu.h 2001/02/06 00:15:42 1.3 @@ -267,5 +267,9 @@ #define SOC_Q22_SUBTYPE_KA660 5 +/*****************************************************************************/ +/* Definitions for NVAX family CPUs */ + +#define NVAX_SIDEX_ADDR 0x20040004 #endif _VAX_CPU_H |
From: Kenn H. <ke...@us...> - 2001-02-05 00:09:20
|
Update of /cvsroot/linux-vax/kernel-2.4/include/asm-vax In directory usw-pr-cvs1:/tmp/cvs-serv30243 Modified Files: uaccess.h Log Message: Declarations for strlen_user and strnlen_user Index: uaccess.h =================================================================== RCS file: /cvsroot/linux-vax/kernel-2.4/include/asm-vax/uaccess.h,v retrieving revision 1.1 retrieving revision 1.2 diff -u -r1.1 -r1.2 --- uaccess.h 2001/01/17 16:18:52 1.1 +++ uaccess.h 2001/02/05 00:09:31 1.2 @@ -261,8 +261,20 @@ * * Return 0 for error */ +extern long __strlen_user(const char *); -extern long strlen_user(const char *); +extern inline long strlen_user(const char *str) +{ + return access_ok(VERIFY_READ,str,0) ? __strlen_user(str) : 0; +} + +/* Returns: 0 if exception before NUL or reaching the supplied limit (N), + * a value greater than N if the limit would be exceeded, else strlen. */ +extern long __strnlen_user(const char *, long); +extern inline long strnlen_user(const char *str, long n) +{ + return access_ok(VERIFY_READ,str,0) ? __strnlen_user(str, n) : 0; +} #endif /* __ASSEMBLY__ */ |
From: Kenn H. <ke...@us...> - 2001-02-05 00:07:51
|
Update of /cvsroot/linux-vax/kernel-2.4/arch/vax/lib In directory usw-pr-cvs1:/tmp/cvs-serv30022 Modified Files: Makefile Added Files: negdi.c string_user.c Log Message: Add temporary implementation of GCC __negdi2 primitive. Add skeletons for copy to/from user and str*_user functions --- NEW FILE --- /* * $Id: negdi.c,v 1.1 2001/02/05 00:08:02 kenn Exp $ * * Copyright (C) 2001, Kenn Humborg * * This is a temporary implementation of GCCs negdi2 primitive. * Once we get native support in the compiler, this will be * removed from here * */ long long __negdi2(long long x) { __asm__ volatile ( " xorl2 $-1, 4(%0) \n" /* complement high longword */ " mnegl (%0), (%0) \n" /* negate low longword */ " bneq 1f \n" /* no overflow */ " incl 4(%0) \n" /* inc high longword */ "1: " : : "r"(&x) : "r0"); return x; } --- NEW FILE --- /* * $Id: string_user.c,v 1.1 2001/02/05 00:08:02 kenn Exp $ * * Copyright (C) 2001, Kenn Humborg * * These functions are used to do string operations on user memory */ #include <linux/string.h> #include <linux/kernel.h> /* for panic() */ int __copy_tofrom_user(void *to, const void *from, unsigned long size) { panic("__copy_tofrom_user: not implemented"); } unsigned long __clear_user(void *addr, unsigned long size) { panic("__clear_user: not implemented"); } int __strncpy_from_user(char *dst, const char *src, long count) { panic("__strncpy_from_user: not implemented"); } extern long __strlen_user(const char *s) { panic("__strlen_user: not implemented"); } extern long __strnlen_user(const char *s, long n) { panic("__strnlen_user: not implemented"); } Index: Makefile =================================================================== RCS file: /cvsroot/linux-vax/kernel-2.4/arch/vax/lib/Makefile,v retrieving revision 1.3 retrieving revision 1.4 diff -u -r1.3 -r1.4 --- Makefile 2001/01/29 01:00:20 1.3 +++ Makefile 2001/02/05 00:08:02 1.4 @@ -10,7 +10,7 @@ all: libio.a L_TARGET := libio.a -obj-y := string.o console.o +obj-y := string.o string_user.o console.o negdi.o include $(TOPDIR)/Rules.make |
From: Kenn H. <ke...@us...> - 2001-02-05 00:05:59
|
Update of /cvsroot/linux-vax/kernel-2.4/arch/vax/mm In directory usw-pr-cvs1:/tmp/cvs-serv29921/mm Modified Files: init.c Log Message: quicklists definition was missing, remove highmemory crud Index: init.c =================================================================== RCS file: /cvsroot/linux-vax/kernel-2.4/arch/vax/mm/init.c,v retrieving revision 1.3 retrieving revision 1.4 diff -u -r1.3 -r1.4 --- init.c 2001/01/29 01:01:32 1.3 +++ init.c 2001/02/05 00:06:11 1.4 @@ -11,13 +11,18 @@ #include <linux/init.h> #include <asm/pgtable.h> +#include <asm/pgalloc.h> #include <asm/rpb.h> static unsigned long totalram_pages; -static unsigned long totalhigh_pages; unsigned long empty_zero_page[PAGE_SIZE/sizeof(unsigned long)] __attribute__ ((__aligned__ (PAGE_SIZE))); +#ifndef CONFIG_SMP +struct pgtable_cache_struct quicklists; +#endif + + /* This is task 0's PGD structure. Entries 4 and 5 will be filled with the system page table base and size by head.S. The remaining @@ -103,8 +108,8 @@ val->sharedram = 0; val->freeram = nr_free_pages(); val->bufferram = atomic_read(&buffermem_pages); - val->totalhigh = totalhigh_pages; - val->freehigh = nr_free_highpages(); + val->totalhigh = 0; + val->freehigh = 0; val->mem_unit = PAGE_SIZE; return; } |
From: Kenn H. <ke...@us...> - 2001-02-05 00:04:56
|
Update of /cvsroot/linux-vax/kernel-2.4/arch/vax/kernel In directory usw-pr-cvs1:/tmp/cvs-serv29827/kernel Modified Files: process.c Log Message: Added flush_thread definition Index: process.c =================================================================== RCS file: /cvsroot/linux-vax/kernel-2.4/arch/vax/kernel/process.c,v retrieving revision 1.3 retrieving revision 1.4 diff -u -r1.3 -r1.4 --- process.c 2001/01/26 00:27:00 1.3 +++ process.c 2001/02/05 00:05:08 1.4 @@ -137,6 +137,14 @@ return 0; } +void flush_thread(void) +{ + /* I don't really know what's supposed to go in here. It + gets called just after exec(), so I guess we reset any + VAX-specific thread state here */ +} + + static ATTRIB_NORET void kernel_thread_exit(int exitcode) { __chmk(__NR_exit); |
From: Kenn H. <ke...@us...> - 2001-02-05 00:04:10
|
Update of /cvsroot/linux-vax/kernel-2.4/include/asm-vax/mm In directory usw-pr-cvs1:/tmp/cvs-serv29747/mm Modified Files: pgalloc.h Log Message: Add flush_tlb_pgtables() Index: pgalloc.h =================================================================== RCS file: /cvsroot/linux-vax/kernel-2.4/include/asm-vax/mm/pgalloc.h,v retrieving revision 1.1 retrieving revision 1.2 diff -u -r1.1 -r1.2 --- pgalloc.h 2001/01/17 16:18:52 1.1 +++ pgalloc.h 2001/02/05 00:04:21 1.2 @@ -222,6 +222,12 @@ __flush_tlb(); } +static inline void flush_tlb_pgtables(struct mm_struct *mm, + unsigned long start, unsigned long end) +{ + /* nothing to do on VAX */ +} + #else /* FIXME: SMP - another day perhaps */ @@ -282,6 +288,15 @@ flush_tlb_mm(mm); } +static inline void flush_tlb_pgtables(struct mm_struct *mm, + unsigned long start, unsigned long end) +{ + /* FIXME: do we need to notify other CPUs that a process + page table is going away? I don't think so... + + But what if two processes are sharing this mm_struct and + are currently running on two different CPUs? */ +} #else @@ -306,6 +321,18 @@ { flush_tlb(); } + +static inline void flush_tlb_pgtables(struct mm_struct *mm, + unsigned long start, unsigned long end) +{ + /* FIXME: do we need to notify other CPUs that a process + page table is going away? I don't think so... + + But what if two processes are sharing this mm_struct and + are currently running on two different CPUs? */ +} + + #endif /* clever_smp_invalidate */ #endif /* smp */ |
From: Kenn H. <ke...@us...> - 2001-02-05 00:03:20
|
Update of /cvsroot/linux-vax/kernel-2.4/include/asm-vax/mm In directory usw-pr-cvs1:/tmp/cvs-serv29639/mm Modified Files: pgtable.h Log Message: A few one-liners to fix some warnings Index: pgtable.h =================================================================== RCS file: /cvsroot/linux-vax/kernel-2.4/include/asm-vax/mm/pgtable.h,v retrieving revision 1.5 retrieving revision 1.6 diff -u -r1.5 -r1.6 --- pgtable.h 2001/01/29 00:49:26 1.5 +++ pgtable.h 2001/02/05 00:03:30 1.6 @@ -323,6 +323,9 @@ ((unsigned long) __va(pmd_val(pmd) & _PFN_MASK)) /* to find an entry in a page-table-directory */ +#define pgd_index(address) ((address >> PGDIR_SHIFT) & (PTRS_PER_PGD-1)) +#define __pgd_offset(address) pgd_index(address) + #define pgd_offset(mm, address) \ ((mm)->pgd + ((address) >> PGDIR_SHIFT)) @@ -348,6 +351,7 @@ /* Needs to be defined here and not in linux/mm.h, as it is arch dependent * This is used on sparc processors to implement memory holes */ #define PageSkip(page) (0) +#define kern_addr_valid(addr) (1) extern inline void pmd_set(pmd_t * pmdp, pte_t * ptep) { |
From: Kenn H. <ke...@us...> - 2001-02-05 00:02:32
|
Update of /cvsroot/linux-vax/kernel-2.4/include/asm-vax In directory usw-pr-cvs1:/tmp/cvs-serv29530 Modified Files: unistd.h Log Message: I don't think __kernel_execve() is needed any more Index: unistd.h =================================================================== RCS file: /cvsroot/linux-vax/kernel-2.4/include/asm-vax/unistd.h,v retrieving revision 1.2 retrieving revision 1.3 diff -u -r1.2 -r1.3 --- unistd.h 2001/01/23 23:56:25 1.2 +++ unistd.h 2001/02/05 00:02:43 1.3 @@ -434,12 +434,12 @@ return sys_read(fd, buf, nr); } -extern int __kernel_execve(char *, char **, char **, struct pt_regs *); +extern int sys_execve(char * file, char ** argvp, char ** envp, struct pt_regs *regs); static inline int execve(char * file, char ** argvp, char ** envp) { struct pt_regs regs; memset(®s, 0, sizeof(regs)); - return __kernel_execve(file, argvp, envp, ®s); + return sys_execve(file, argvp, envp, ®s); } extern int sys_setsid(void); |
From: Kenn H. <ke...@us...> - 2001-02-05 00:01:14
|
Update of /cvsroot/linux-vax/kernel-2.4/include/asm-vax In directory usw-pr-cvs1:/tmp/cvs-serv29423 Modified Files: processor.h Log Message: Fix release_thread() and get_task_struct() Index: processor.h =================================================================== RCS file: /cvsroot/linux-vax/kernel-2.4/include/asm-vax/processor.h,v retrieving revision 1.6 retrieving revision 1.7 diff -u -r1.6 -r1.7 --- processor.h 2001/01/23 23:50:19 1.6 +++ processor.h 2001/02/05 00:01:24 1.7 @@ -89,7 +89,10 @@ struct task_struct; /* Free all resources held by a thread. */ -extern void release_thread(struct task_struct *); +static inline void release_thread(struct task_struct *p) +{ + /* nothing to do on VAX */ +} extern int kernel_thread(int (*fn)(void *), void * arg, unsigned long flags); @@ -135,9 +138,12 @@ chunks later when memory gets fragmented on small machines. See arch/i386/kernel/process.c for the implementation of this. */ + +/* FIXME: change the page order from 4 to 1 once the pagelet stuff is done */ #define alloc_task_struct() \ ((struct task_struct *) __get_free_pages(GFP_KERNEL,4)) #define free_task_struct(p) free_pages((unsigned long)(p),4) +#define get_task_struct(tsk) atomic_inc(&virt_to_page(tsk)->count) #define init_task (init_task_union.task) #define init_stack (init_task_union.stack) |
From: Kenn H. <ke...@us...> - 2001-02-04 20:02:12
|
Update of /cvsroot/linux-vax/kernel-2.4/Documentation/vax In directory usw-pr-cvs1:/tmp/cvs-serv31325 Modified Files: README Log Message: Add info on 20001231 toolchain snapshots Index: README =================================================================== RCS file: /cvsroot/linux-vax/kernel-2.4/Documentation/vax/README,v retrieving revision 1.3 retrieving revision 1.4 diff -u -r1.3 -r1.4 --- README 2001/02/03 13:51:48 1.3 +++ README 2001/02/04 18:57:43 1.4 @@ -22,12 +22,17 @@ $ cvs -z9 -d:pserver:ano...@cv...:/cvsroot/linux-vax co tools + Alternatively, you get get a snapshot of the 20001231 toolchain sources + at: + + ftp://linux-vax.sourceforge.net/pub/linux-vax/tools/Sources/tools-src-linuxvax-20001231.tar.bz2 + Then build the combined binutils/gcc source tree: $ cd tools $ ./build-vax.sh - These should complete without errors. If you get errors, something + This should complete without errors. If you get errors, something is seriously wrong and you probably won't get a correctly-installed toolchain. All object files and binaries will be created in tools/b-vax-dec-linux without touching the source trees. @@ -41,9 +46,16 @@ /usr/local/vax-dec-linux and /usr/local/lib/gcc-lib/vax-dec-linux. This will not touch your current GCC installation. + + If you don't want to build your own toolchain, you can get a binary + snapshot of the 20001231 toolchain at: + + ftp://linux-vax.sourceforge.net/pub/linux-vax/tools/Binaries/tools-bin-linuxvax-20001231.tar.bz2 + + These binaries were built with a /usr/local prefix, so you need to - A toolchain snapshot will soon be available for those people who don't - want to compile their own. + $ cd / + $ tar xvf <wherever>/tools-bin-linuxvax-20001231.tar.bz2 --use=bzip2 2. The kernel sources |
From: Kenn H. <ke...@us...> - 2001-02-04 20:02:12
|
Update of /cvsroot/linux-vax/kernel-2.4/Documentation/vax In directory usw-pr-cvs1:/tmp/cvs-serv31497 Modified Files: README Log Message: Add Id: line Index: README =================================================================== RCS file: /cvsroot/linux-vax/kernel-2.4/Documentation/vax/README,v retrieving revision 1.4 retrieving revision 1.5 diff -u -r1.4 -r1.5 --- README 2001/02/04 18:57:43 1.4 +++ README 2001/02/04 18:59:50 1.5 @@ -1,5 +1,5 @@ -Last updated Feb 2, 2001 +$Id$ GETTING STARTED |
From: Kenn H. <ke...@us...> - 2001-02-03 13:51:41
|
Update of /cvsroot/linux-vax/kernel-2.4/Documentation/vax In directory usw-pr-cvs1:/tmp/cvs-serv21528 Modified Files: README Log Message: Need coffee.... Index: README =================================================================== RCS file: /cvsroot/linux-vax/kernel-2.4/Documentation/vax/README,v retrieving revision 1.2 retrieving revision 1.3 diff -u -r1.2 -r1.3 --- README 2001/02/03 13:43:39 1.2 +++ README 2001/02/03 13:51:48 1.3 @@ -1,5 +1,5 @@ -Last updated Feb 2, 2000 +Last updated Feb 2, 2001 GETTING STARTED |