You can subscribe to this list here.
2000 |
Jan
|
Feb
|
Mar
|
Apr
|
May
|
Jun
|
Jul
|
Aug
(6) |
Sep
(2) |
Oct
(43) |
Nov
(4) |
Dec
(12) |
---|---|---|---|---|---|---|---|---|---|---|---|---|
2001 |
Jan
(78) |
Feb
(97) |
Mar
(29) |
Apr
(2) |
May
(22) |
Jun
(38) |
Jul
(11) |
Aug
(27) |
Sep
(40) |
Oct
(2) |
Nov
(17) |
Dec
(8) |
2002 |
Jan
|
Feb
(2) |
Mar
(1) |
Apr
(480) |
May
(456) |
Jun
(12) |
Jul
|
Aug
(1) |
Sep
|
Oct
(18) |
Nov
(3) |
Dec
(6) |
2003 |
Jan
|
Feb
(18) |
Mar
(1) |
Apr
|
May
(6) |
Jun
(147) |
Jul
(7) |
Aug
(3) |
Sep
(235) |
Oct
(10) |
Nov
(2) |
Dec
(1) |
2004 |
Jan
|
Feb
|
Mar
|
Apr
|
May
(1) |
Jun
|
Jul
|
Aug
|
Sep
|
Oct
|
Nov
|
Dec
|
From: Kenn H. <ke...@us...> - 2001-02-21 00:15:58
|
Update of /cvsroot/linux-vax/kernel-2.4/arch/vax In directory usw-pr-cvs1:/tmp/cvs-serv22131 Modified Files: Makefile Log Message: Link order has changed in 2.4. $(DRIVERS) are now linked before $(NETWORKS) Index: Makefile =================================================================== RCS file: /cvsroot/linux-vax/kernel-2.4/arch/vax/Makefile,v retrieving revision 1.6 retrieving revision 1.7 diff -u -r1.6 -r1.7 --- Makefile 2001/01/26 00:27:00 1.6 +++ Makefile 2001/02/21 00:16:56 1.7 @@ -93,8 +93,8 @@ $(LD) $(LINKFLAGS) $(HEAD) init/main.o init/version.o \ --start-group \ $(CORE_FILES) \ - $(NETWORKS) \ $(DRIVERS) \ + $(NETWORKS) \ $(LIBS) \ --end-group \ -o vmlinux |
From: Andy P. <at...@us...> - 2001-02-18 20:40:59
|
Update of /cvsroot/linux-vax/kernel-2.4/arch/vax In directory usw-pr-cvs1:/tmp/cvs-serv16048 Modified Files: defconfig Log Message: A better default config. Index: defconfig =================================================================== RCS file: /cvsroot/linux-vax/kernel-2.4/arch/vax/defconfig,v retrieving revision 1.4 retrieving revision 1.5 diff -u -r1.4 -r1.5 --- defconfig 2001/02/18 16:42:44 1.4 +++ defconfig 2001/02/18 20:41:50 1.5 @@ -60,8 +60,8 @@ # CONFIG_BLK_CPQ_DA is not set # CONFIG_BLK_CPQ_CISS_DA is not set # CONFIG_BLK_DEV_DAC960 is not set -CONFIG_BLK_DEV_LOOP=y -CONFIG_BLK_DEV_NBD=y +# CONFIG_BLK_DEV_LOOP is not set +# CONFIG_BLK_DEV_NBD is not set CONFIG_BLK_DEV_RAM=y CONFIG_BLK_DEV_RAM_SIZE=4096 CONFIG_BLK_DEV_INITRD=y @@ -110,14 +110,7 @@ # # SCSI support # -CONFIG_SCSI=y -CONFIG_BLK_DEV_SD=y -CONFIG_CHR_DEV_ST=y -CONFIG_BLK_DEV_SR=y -CONFIG_CHR_DEV_SG=y -# CONFIG_SCSI_MULTI_LUN is not set -CONFIG_SCSI_CONSTANTS=y -CONFIG_SCSI_VAX_5380=y +# CONFIG_SCSI is not set # # Network device support |
From: Andy P. <at...@us...> - 2001-02-18 20:37:43
|
Update of /cvsroot/linux-vax/kernel-2.4/arch/vax/lib In directory usw-pr-cvs1:/tmp/cvs-serv15834/arch/vax/lib Added Files: checksum.c Log Message: Add network checksum stubs. --- NEW FILE --- /* * arch/vax/lib/checksum.c * Fast network checksum routines * * * This file contains network checksum routines * FIXME: implement. */ #include <linux/string.h> #include <linux/types.h> #include <asm/uaccess.h> #include <asm/byteorder.h> #include <asm/checksum.h> /* * computes a partial checksum, e.g. for TCP/UDP fragments */ unsigned int csum_partial (const unsigned char *buff, int len, unsigned int sum) { /* * Experiments with ethernet and slip connections show that buff * is aligned on either a 2-byte or 4-byte boundary. */ return sum; } /* * Fold a partial checksum without adding pseudo headers */ unsigned short csum_fold(unsigned int sum) { return ((unsigned short) ~sum); } |
From: Andy P. <at...@us...> - 2001-02-18 20:36:48
|
Update of /cvsroot/linux-vax/kernel-2.4/arch/vax/lib In directory usw-pr-cvs1:/tmp/cvs-serv15546/arch/vax/lib Modified Files: Makefile Log Message: Add vax_dev_init to init/main.c. new file vax_dev_init. Updated cpu_ka46.c Stubbed out checksum routines. Index: Makefile =================================================================== RCS file: /cvsroot/linux-vax/kernel-2.4/arch/vax/lib/Makefile,v retrieving revision 1.4 retrieving revision 1.5 diff -u -r1.4 -r1.5 --- Makefile 2001/02/05 00:08:02 1.4 +++ Makefile 2001/02/18 20:37:39 1.5 @@ -10,7 +10,7 @@ all: libio.a L_TARGET := libio.a -obj-y := string.o string_user.o console.o negdi.o +obj-y := string.o string_user.o console.o negdi.o checksum.o include $(TOPDIR)/Rules.make |
From: Andy P. <at...@us...> - 2001-02-18 20:36:48
|
Update of /cvsroot/linux-vax/kernel-2.4/include/asm-vax In directory usw-pr-cvs1:/tmp/cvs-serv15546/include/asm-vax Modified Files: checksum.h Log Message: Add vax_dev_init to init/main.c. new file vax_dev_init. Updated cpu_ka46.c Stubbed out checksum routines. Index: checksum.h =================================================================== RCS file: /cvsroot/linux-vax/kernel-2.4/include/asm-vax/checksum.h,v retrieving revision 1.1 retrieving revision 1.2 diff -u -r1.1 -r1.2 --- checksum.h 2001/01/17 16:18:52 1.1 +++ checksum.h 2001/02/18 20:37:39 1.2 @@ -1,6 +1,20 @@ #ifndef _VAX_CHECKSUM_H #define _VAX_CHECKSUM_H +/* + * computes the checksum of a memory block at buff, length len, + * and adds in "sum" (32-bit) + * + * returns a 32-bit number suitable for feeding into itself + * or csum_tcpudp_magic + * + * this function must be called with even lengths, except + * for the last fragment, which may be odd + * + * it's best to have buff aligned on a 32-bit boundary + */ + + #define checksum_Asm __asm __volatile #define checksum_ADDL checksum_Asm("addl2 (%2)+,%0" : "=r" (sum) : "0" (sum), "r" (w)) #define checksum_ADWC checksum_Asm("adwc (%2)+,%0" : "=r" (sum) : "0" (sum), "r" (w)) @@ -11,6 +25,8 @@ * This is a version of ip_compute_csum() optimized for IP headers, * which always checksum on 4 octet boundaries. */ + + static inline unsigned short ip_fast_csum(unsigned char * iph, unsigned int ihl) { volatile register unsigned char *w; @@ -20,28 +36,36 @@ len=ihl; w=iph; + for (i=0; i<ihl; i++) { checksum_ADDL; checksum_ADDC; /* This printk is required for some reason to make w get updated - for the next loop iteration.... no idea why.. tried a couple - of things like adding a varible but they seem to get optimsed - out ... - D.A. 3 Dec 2000 */ + * for the next loop iteration.... no idea why.. tried a couple + * of things like adding a varible but they seem to get optimsed + * out ... - D.A. 3 Dec 2000 + */ printk("w: %8X, sum: %8X, i: %i\n", *(unsigned int *)w, sum, i); } - __asm__(" - addl2 %1, %0 - adwc $0xffff, %0 - " : "=r" (sum) - : "r" (sum<<16), "0" (sum & 0xffff0000)); + + + + __asm__("addl2 %1, %0\n" + "adwc $0xffff, %0\n" : "=r" (sum) + : "r" (sum<<16), "0" (sum & 0xffff0000)); return (~sum)>>16; + + } + + /* * computes the checksum of the TCP/UDP pseudo-header * returns a 16-bit checksum, already complemented */ + extern unsigned short int csum_tcpudp_magic(unsigned long saddr, unsigned long daddr, unsigned short len, @@ -52,6 +76,7 @@ unsigned short len, unsigned short proto, unsigned int sum); + /* * computes the checksum of a memory block at buff, length len, * and adds in "sum" (32-bit) @@ -67,49 +92,79 @@ extern unsigned int csum_partial(const unsigned char * buff, int len, unsigned int sum); /* - * the same as csum_partial, but copies from src while it - * checksums - * - * here even more important to align src and dst on a 32-bit (or even - * better 64-bit) boundary + * csum_partial as an inline function */ -unsigned int csum_partial_copy(const char *src, char *dst, int len, unsigned int sum); +extern inline unsigned int +csum_partial_inline(const unsigned char * buff, int len, unsigned int sum) +{ + __asm__ __volatile__ ("nop"); + return sum; +} /* - * the same as csum_partial, but copies from user space (but on the alpha - * we have just one address space, so this is identical to the above) + * the same as csum_partial, but copies from src while it + * checksums * - * this is obsolete and will go away. + * here even more important to align src and dst on a 32-bit + * (or even better 64-bit) boundary */ -#define csum_partial_copy_fromuser csum_partial_copy + +extern inline unsigned int +csum_partial_copy(const char *src, char *dst, int len,unsigned int sum) +{ + memcpy(dst,src,len); + return csum_partial_inline(dst, len, sum); +} /* - * this is a new version of the above that records errors it finds in *errp, - * but continues and zeros the rest of the buffer. + * the same as csum_partial_copy, but copies from user space. + * + * here even more important to align src and dst on a 32-bit (or even + * better 64-bit) boundary */ -unsigned int csum_partial_copy_from_user(const char *src, char *dst, int len, unsigned int sum, int *errp); - -extern __inline__ unsigned int csum_partial_copy_nocheck(const char *src, char *dst, int len, unsigned int sum); +extern inline unsigned int +csum_partial_copy_from_user(const char *src, char *dst, + int len, unsigned int sum, int *errp) +{ + if (copy_from_user(dst, src, len)) { + *errp = -EFAULT; + memset(dst, 0, len); + return sum; + } + return csum_partial(dst, len, sum); +} -/* - * this routine is used for miscellaneous IP-like checksums, mainly - * in icmp.c - */ +extern inline unsigned int +csum_partial_copy_nocheck (const char *src, char *dst, int len, unsigned int sum) +{ + memcpy(dst,src,len); + return csum_partial_inline(dst, len, sum); +} -extern unsigned short ip_compute_csum(unsigned char * buff, int len); /* * Fold a partial checksum without adding pseudo headers */ -static inline unsigned short csum_fold(unsigned int sum) +extern inline unsigned short csum_fold(unsigned int sum) { sum = (sum & 0xffff) + (sum >> 16); sum = (sum & 0xffff) + (sum >> 16); return ~sum; } +/* + * this routine is used for miscellaneous IP-like checksums, mainly + * in icmp.c + */ + +extern inline unsigned short +ip_compute_csum(unsigned char * buff, int len) +{ + return csum_fold(csum_partial(buff, len, 0)); +} + #define _HAVE_ARCH_IPV6_CSUM extern unsigned short int csum_ipv6_magic(struct in6_addr *saddr, struct in6_addr *daddr, @@ -117,4 +172,4 @@ unsigned short proto, unsigned int sum); -#endif +#endif /* VAX_CHECKSUM_H */ |
From: Andy P. <at...@us...> - 2001-02-18 20:36:48
|
Update of /cvsroot/linux-vax/kernel-2.4/arch/vax/kernel In directory usw-pr-cvs1:/tmp/cvs-serv15546/arch/vax/kernel Modified Files: Makefile cpu_ka46.c Added Files: vax_dev_init.c Log Message: Add vax_dev_init to init/main.c. new file vax_dev_init. Updated cpu_ka46.c Stubbed out checksum routines. --- NEW FILE --- /* vax_dev_init.c * atp Feb 2001 * * Called from initial do_basic_setup in linux/init/main.c * Initialise devices according to mv. * * Add any other vax device specific initialisation stuff here. */ #include <linux/types.h> /* For NULL */ #include <linux/kernel.h> /* For printk */ #include <asm/mtpr.h> #include <asm/mv.h> #include <asm/vaxcpu.h> void vax_dev_init(void) { if (mv->init_devices) { mv->init_devices(); } return; } Index: Makefile =================================================================== RCS file: /cvsroot/linux-vax/kernel-2.4/arch/vax/kernel/Makefile,v retrieving revision 1.5 retrieving revision 1.6 diff -u -r1.5 -r1.6 --- Makefile 2001/02/06 00:15:42 1.5 +++ Makefile 2001/02/18 20:37:39 1.6 @@ -12,7 +12,7 @@ O_TARGET := kernel.o obj-y := process.o setup.o regdump.o interrupt.o entry.o time.o \ - syscall.o signal.o semaphore.o \ + syscall.o signal.o semaphore.o vax_dev_init.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_ka55.o Index: cpu_ka46.c =================================================================== RCS file: /cvsroot/linux-vax/kernel-2.4/arch/vax/kernel/cpu_ka46.c,v retrieving revision 1.3 retrieving revision 1.4 diff -u -r1.3 -r1.4 --- cpu_ka46.c 2001/02/15 16:50:54 1.3 +++ cpu_ka46.c 2001/02/18 20:37:39 1.4 @@ -24,6 +24,8 @@ void ka46_cache_clear(void); void ka46_cache_enable(void); +void ka46_init_devices(void); + const char *ka46_cpu_type_str(void); struct ka46_machine_vector { @@ -47,7 +49,7 @@ NULL, /* reboot */ NULL, /* halt */ - NULL, /* init_devices */ + ka46_init_devices, /* init_devices */ ka46_cpu_type_str }, @@ -118,3 +120,12 @@ *(int *)KA46_CCR = KA46_CCR_SPECIO | KA46_CCR_CENA; } + + +void ka46_init_devices(void) +{ + printk("ka46: init_devices\n"); +#ifdef CONFIG_VSABUS + vsa_setup(); +#endif /* CONFIG_VSABUS */ +} |
From: Andy P. <at...@us...> - 2001-02-18 20:36:48
|
Update of /cvsroot/linux-vax/kernel-2.4/init In directory usw-pr-cvs1:/tmp/cvs-serv15546/init Modified Files: main.c Log Message: Add vax_dev_init to init/main.c. new file vax_dev_init. Updated cpu_ka46.c Stubbed out checksum routines. Index: main.c =================================================================== RCS file: /cvsroot/linux-vax/kernel-2.4/init/main.c,v retrieving revision 1.1.1.1 retrieving revision 1.2 diff -u -r1.1.1.1 -r1.2 --- main.c 2001/01/14 16:40:58 1.1.1.1 +++ main.c 2001/02/18 20:37:38 1.2 @@ -102,6 +102,10 @@ extern void tc_init(void); #endif +#ifdef CONFIG_VAX +extern void vax_dev_init(void); +#endif + extern void ecard_init(void); #if defined(CONFIG_SYSVIPC) @@ -708,7 +712,9 @@ #ifdef CONFIG_TC tc_init(); #endif - +#ifdef CONFIG_VAX + vax_dev_init(); +#endif /* Networking initialization needs a process context */ sock_init(); |
From: Andy P. <at...@us...> - 2001-02-18 16:41:55
|
Update of /cvsroot/linux-vax/kernel-2.4/arch/vax/mm In directory usw-pr-cvs1:/tmp/cvs-serv23123/arch/vax/mm Modified Files: init.c Log Message: Reorganise tmp_start_kernel. max_pfn/hwpfn fixes. update config file. Index: init.c =================================================================== RCS file: /cvsroot/linux-vax/kernel-2.4/arch/vax/mm/init.c,v retrieving revision 1.7 retrieving revision 1.8 diff -u -r1.7 -r1.8 --- init.c 2001/02/18 12:03:31 1.7 +++ init.c 2001/02/18 16:42:45 1.8 @@ -16,6 +16,7 @@ static unsigned long totalram_pages; +unsigned long max_pfn; /* number of 4k pfns */ unsigned long empty_zero_page[PAGE_SIZE / sizeof(unsigned long)] __attribute__ ((__aligned__(PAGE_SIZE))); @@ -41,7 +42,7 @@ { unsigned long zones_size[MAX_NR_ZONES] = { 0, 0, 0 }; /* max_pfn is the number of hwptes */ - zones_size[ZONE_DMA] = max_pfn/8; + zones_size[ZONE_DMA] = max_pfn; free_area_init(zones_size); } @@ -69,12 +70,11 @@ void mem_init(void) { - max_mapnr = num_physpages = max_low_pfn/8; + max_mapnr = num_physpages = max_low_pfn; /* this will put all low memory onto the freelists */ totalram_pages += free_all_bootmem(); -asm("halt"); - high_memory = (void *) __va((max_low_pfn/8) * PAGE_SIZE); + high_memory = (void *) __va((max_low_pfn) * PAGE_SIZE); printk("Memory: %luk/%luk available\n", (unsigned long) nr_free_pages() << (PAGE_SHIFT-10), max_mapnr << (PAGE_SHIFT-10)); |
From: Andy P. <at...@us...> - 2001-02-18 16:41:55
|
Update of /cvsroot/linux-vax/kernel-2.4/include/asm-vax/mm In directory usw-pr-cvs1:/tmp/cvs-serv23123/include/asm-vax/mm Modified Files: pgtable.h Log Message: Reorganise tmp_start_kernel. max_pfn/hwpfn fixes. update config file. Index: pgtable.h =================================================================== RCS file: /cvsroot/linux-vax/kernel-2.4/include/asm-vax/mm/pgtable.h,v retrieving revision 1.7 retrieving revision 1.8 diff -u -r1.7 -r1.8 --- pgtable.h 2001/02/15 01:17:23 1.7 +++ pgtable.h 2001/02/18 16:42:46 1.8 @@ -123,7 +123,8 @@ /* Memory sizing. You'll need to #include <asm/rpb.h> to get * the declaration of boot_rpb. */ -#define max_pfn (boot_rpb.l_pfncnt) +#define max_hwpfn (boot_rpb.l_pfncnt) +extern unsigned long max_pfn; /* generic stuff */ #include <asm-generic/pgtable.h> |
From: Andy P. <at...@us...> - 2001-02-18 16:41:55
|
Update of /cvsroot/linux-vax/kernel-2.4/arch/vax/kernel In directory usw-pr-cvs1:/tmp/cvs-serv23123/arch/vax/kernel Modified Files: setup.c Log Message: Reorganise tmp_start_kernel. max_pfn/hwpfn fixes. update config file. Index: setup.c =================================================================== RCS file: /cvsroot/linux-vax/kernel-2.4/arch/vax/kernel/setup.c,v retrieving revision 1.5 retrieving revision 1.6 diff -u -r1.5 -r1.6 --- setup.c 2001/02/16 00:54:26 1.5 +++ setup.c 2001/02/18 16:42:45 1.6 @@ -59,9 +59,13 @@ /* * Locate the command line. - Don't have one yet... + * atp -- have a temporary one. */ - command_line[0] = '\0'; + memcpy(command_line, "root=/dev/nfs nfsroot=/tftpboot/vaxroot\0",54); *cmdline_p = command_line; + /* Save unparsed command line copy for /proc/cmdline */ + memcpy(saved_command_line, command_line, COMMAND_LINE_SIZE); + saved_command_line[COMMAND_LINE_SIZE-1] = '\0'; /* Get the SID */ vax_cpu.sid = __mfpr(PR_SID); @@ -76,8 +80,9 @@ at the start of physical memory. init_bootmem() also marks every page as reserved. We have to explicitly free available memory ourselves. (max_pfn comes from RPB.) */ - bootmap_size = init_bootmem(0, max_pfn); - + bootmap_size = init_bootmem(0, (max_pfn)); + + printk("bootmap size = %8.8x\n", bootmap_size); /* Available memory is now the region from the end of the bootmem bitmap to the start of the kernel and from the end of the SPT to the end of memory */ |
From: Andy P. <at...@us...> - 2001-02-18 16:41:55
|
Update of /cvsroot/linux-vax/kernel-2.4/include/asm-vax In directory usw-pr-cvs1:/tmp/cvs-serv23123/include/asm-vax Modified Files: elf.h param.h Log Message: Reorganise tmp_start_kernel. max_pfn/hwpfn fixes. update config file. Index: elf.h =================================================================== RCS file: /cvsroot/linux-vax/kernel-2.4/include/asm-vax/elf.h,v retrieving revision 1.1 retrieving revision 1.2 diff -u -r1.1 -r1.2 --- elf.h 2001/01/23 16:51:26 1.1 +++ elf.h 2001/02/18 16:42:45 1.2 @@ -19,6 +19,8 @@ #define ELF_NGREG 16 typedef elf_greg_t elf_gregset_t[ELF_NGREG]; /* FIXME: fpregs. */ +typedef double elf_fpreg_t; +typedef elf_fpreg_t elf_fpregset_t[2]; /* * This is used to ensure we don't load something for the wrong architecture. @@ -68,7 +70,7 @@ * However I'm keeping it here for when we need to modify it. */ -#define ELF_CORE_COPY_REGS(pr_reg, regs) \ +/*#define ELF_CORE_COPY_REGS(pr_reg, regs) \ pr_reg[0] = regs->r0; \ pr_reg[1] = regs->r1; \ pr_reg[2] = regs->r2; \ @@ -86,7 +88,7 @@ pr_reg[14] = regs->sp; \ pr_reg[15] = regs->pc; \ pr_reg[16] = regs->psl; - +*/ /* This yields a mask that user programs can use to figure out what instruction set this CPU supports. This could be done in user space, but it's not easy, and we've already done it here. */ Index: param.h =================================================================== RCS file: /cvsroot/linux-vax/kernel-2.4/include/asm-vax/param.h,v retrieving revision 1.1 retrieving revision 1.2 diff -u -r1.1 -r1.2 --- param.h 2001/01/17 16:18:52 1.1 +++ param.h 2001/02/18 16:42:46 1.2 @@ -18,4 +18,8 @@ #define MAXHOSTNAMELEN 64 /* max length of hostname */ +#ifdef __KERNEL__ +# define CLOCKS_PER_SEC 100 /* frequency at which times() counts */ +#endif + #endif /* _VAX_PARAM_H */ |
From: Andy P. <at...@us...> - 2001-02-18 16:41:55
|
Update of /cvsroot/linux-vax/kernel-2.4/arch/vax/boot In directory usw-pr-cvs1:/tmp/cvs-serv23123/arch/vax/boot Modified Files: head.S tmp_init.c Log Message: Reorganise tmp_start_kernel. max_pfn/hwpfn fixes. update config file. Index: head.S =================================================================== RCS file: /cvsroot/linux-vax/kernel-2.4/arch/vax/boot/head.S,v retrieving revision 1.3 retrieving revision 1.4 diff -u -r1.3 -r1.4 --- head.S 2001/02/15 01:26:58 1.3 +++ head.S 2001/02/18 16:42:45 1.4 @@ -267,7 +267,7 @@ halt now_on_kstack: - calls $0, tmp_start_kernel # should never return + calls $0, vax_start_kernel # should never return halt msg_loaded: Index: tmp_init.c =================================================================== RCS file: /cvsroot/linux-vax/kernel-2.4/arch/vax/boot/tmp_init.c,v retrieving revision 1.7 retrieving revision 1.8 diff -u -r1.7 -r1.8 --- tmp_init.c 2001/02/18 12:03:31 1.7 +++ tmp_init.c 2001/02/18 16:42:45 1.8 @@ -83,6 +83,8 @@ extern struct task_struct *child_reaper; static int tmp_init(void * unused); +char *vax_linux_banner="Linux/VAX (lin...@mi...)\n"; +extern void start_kernel(void); /* This is a transitionary function. When things are finally sorted * the only tasks this function will perform will relate to the interaction @@ -96,8 +98,61 @@ * ok ive changed my mind. We turn on MM in the asm before we hit C code * (keeps stacks simpler) just like the i386, with a default 8mb system * page table setup (with a 1:1 mapping of system space. + * + * Things that are temporary have a habit of becoming permanent. + * I've renamed from tmp_start_kernel to vax_start_kernel, as convenient + * bit of arch-specific C code before starting the main start_kernel */ +void vax_start_kernel(void) +{ + unsigned long mempages; +/* this is a temporary command line that allows booting via nfsroot */ +/* + * Interrupts are still disabled. Do necessary setups, then + * enable them + */ + /* set the number of 4k pages */ + max_pfn = max_hwpfn/8; + + printk(vax_linux_banner); + + /* Protect us from interrupt stack overflows */ + 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__ + static int boot_cpu = 1; + /* "current" has been set up, we need to load it now */ + if (!boot_cpu) + initialize_secondary(); + boot_cpu = 0; + #endif + + /* + * Interrupts are still disabled. Do necessary setups, then + * enable them + */ + + printk("RPB info: l_pfncnt: %08x, .l_vmb_version: %08x .l_badpgs: %08x\n", + boot_rpb.l_pfncnt, boot_rpb.l_vmb_version, boot_rpb.l_badpgs); + + printk("Physical memory: %08x HW pagelets, %08x pages (%dKB)\n", + max_hwpfn, max_pfn, max_hwpfn/2); + + printk("CPU type: %s, SID: %08x\n", mv->cpu_type_str(), vax_cpu.sid); + + printk("calling start_kernel...\n"); + start_kernel(); + +} + void tmp_start_kernel(void) { char * command_line; @@ -107,6 +162,9 @@ * Interrupts are still disabled. Do necessary setups, then * enable them */ + /* set the number of 4k pages */ + max_pfn = max_hwpfn/8; + /* Protect us from interrupt stack overflows */ guard_int_stack(); @@ -129,7 +187,6 @@ * Interrupts are still disabled. Do necessary setups, then * enable them */ - lock_kernel(); printk(linux_banner); @@ -137,7 +194,7 @@ boot_rpb.l_pfncnt, boot_rpb.l_vmb_version, boot_rpb.l_badpgs); printk("Physical memory: %08x HW pagelets, %08x pages (%dKB)\n", - max_pfn, max_pfn/8, max_pfn / 2); + max_hwpfn, max_pfn, max_hwpfn/2); setup_arch(&command_line); @@ -163,7 +220,6 @@ memory on the free list */ mem_init(); - asm("halt"); kmem_cache_sizes_init(); #ifdef CONFIG_PROC_FS |
From: Andy P. <at...@us...> - 2001-02-18 16:41:55
|
Update of /cvsroot/linux-vax/kernel-2.4/arch/vax In directory usw-pr-cvs1:/tmp/cvs-serv23123/arch/vax Modified Files: config.in defconfig Log Message: Reorganise tmp_start_kernel. max_pfn/hwpfn fixes. update config file. Index: config.in =================================================================== RCS file: /cvsroot/linux-vax/kernel-2.4/arch/vax/config.in,v retrieving revision 1.2 retrieving revision 1.3 diff -u -r1.2 -r1.3 --- config.in 2001/01/18 18:49:49 1.2 +++ config.in 2001/02/18 16:42:44 1.3 @@ -10,43 +10,61 @@ define_bool CONFIG_VAX y mainmenu_option next_comment -comment 'General setup' +comment 'Code maturity level options' +bool 'Prompt for development and/or incomplete code/drivers' CONFIG_EXPERIMENTAL +endmenu + +mainmenu_option next_comment +comment 'Loadable module support' +bool 'Enable loadable module support' CONFIG_MODULES +if [ "$CONFIG_MODULES" = "y" ]; then + bool 'Set version information on all symbols for modules' CONFIG_MODVERSIONS + bool 'Kernel module loader' CONFIG_KMOD +fi +endmenu +mainmenu_option next_comment +comment 'Processor type and features' # Later we'll allow support for various processors to be compiled # in or not as required, but for now all models will be compiled in - # bool 'Support for VAXstation 3100 (CVAX)' CONFIG_VS3100 y - -define_bool CONFIG_BINFMT_ELF n -define_bool CONFIG_BINFMT_AOUT n -define_bool CONFIG_ELF_KERNEL y -define_bool CONFIG_EXTRA_ELF_COMPILER n # # if we allow this to be y, then we need to implement things # like asm-vax/spinlock.h define_bool CONFIG_SMP n +bool 'Symmetric multi-processing support (not available yet)' CONFIG_SMP + +endmenu + + +mainmenu_option next_comment +comment 'General setup' + +define_bool CONFIG_BINFMT_ELF y +define_bool CONFIG_BINFMT_AOUT n +define_bool CONFIG_ELF_KERNEL y +define_bool CONFIG_EXTRA_ELF_COMPILER n bool 'Networking support' CONFIG_NET bool 'System V IPC' CONFIG_SYSVIPC bool 'BSD Process Accounting' CONFIG_BSD_PROCESS_ACCT bool 'Sysctl support' CONFIG_SYSCTL +if [ "$CONFIG_PROC_FS" = "y" ]; then + choice 'Kernel core (/proc/kcore) format' \ + "ELF CONFIG_KCORE_ELF \ + A.OUT CONFIG_KCORE_AOUT" ELF +fi +tristate 'Kernel support for a.out binaries' CONFIG_BINFMT_AOUT +tristate 'Kernel support for ELF binaries' CONFIG_BINFMT_ELF +tristate 'Kernel support for MISC binaries' CONFIG_BINFMT_MISC # ipc needs the proc fs if [ "$CONFIG_SYSVIPC" = "y" ]; then define_bool CONFIG_PROC_FS y fi - endmenu -mainmenu_option next_comment -comment 'Loadable module support' -bool 'Enable loadable module support' CONFIG_MODULES -if [ "$CONFIG_MODULES" = "y" ]; then - bool 'Set version information on all symbols for modules' CONFIG_MODVERSIONS - bool 'Kernel module loader' CONFIG_KMOD -fi -endmenu # Bus support options are not implemented yet, but they'll go here in # the config. @@ -64,6 +82,7 @@ bool 'Support for TMSCP' CONFIG_TMSCP endmenu +source drivers/block/Config.in if [ "$CONFIG_NET" = "y" ]; then source net/Config.in @@ -145,6 +164,7 @@ comment 'Kernel hacking' bool 'Debug kmalloc/kfree' CONFIG_DEBUG_MALLOC +bool 'Magic SysRq key' CONFIG_MAGIC_SYSRQ bool 'Kernel profiling support' CONFIG_PROFILE if [ "$CONFIG_PROFILE" = "y" ]; then int ' Profile shift count' CONFIG_PROFILE_SHIFT 2 Index: defconfig =================================================================== RCS file: /cvsroot/linux-vax/kernel-2.4/arch/vax/defconfig,v retrieving revision 1.3 retrieving revision 1.4 diff -u -r1.3 -r1.4 --- defconfig 2001/01/29 01:09:18 1.3 +++ defconfig 2001/02/18 16:42:44 1.4 @@ -1,28 +1,43 @@ # -# Automatically generated make config: don't edit +# Automatically generated by make menuconfig: don't edit # CONFIG_VAX=y # +# Code maturity level options +# +CONFIG_EXPERIMENTAL=y + +# +# Loadable module support +# +# CONFIG_MODULES is not set + +# +# Processor type and features +# +# CONFIG_SMP is not set +# CONFIG_SMP is not set + +# # General setup # -# CONFIG_BINFMT_ELF is not set +CONFIG_BINFMT_ELF=y # CONFIG_BINFMT_AOUT is not set CONFIG_ELF_KERNEL=y # CONFIG_EXTRA_ELF_COMPILER is not set -# CONFIG_SMP is not set CONFIG_NET=y CONFIG_SYSVIPC=y # CONFIG_BSD_PROCESS_ACCT is not set # CONFIG_SYSCTL is not set +CONFIG_KCORE_ELF=y +# CONFIG_KCORE_AOUT is not set +# CONFIG_BINFMT_AOUT is not set +CONFIG_BINFMT_ELF=y +# CONFIG_BINFMT_MISC is not set CONFIG_PROC_FS=y # -# Loadable module support -# -# CONFIG_MODULES is not set - -# # Bus support # CONFIG_QBUS=y @@ -37,36 +52,83 @@ CONFIG_TMSCP=y # +# Block devices +# +# CONFIG_BLK_DEV_FD is not set +# CONFIG_BLK_DEV_XD is not set +# CONFIG_PARIDE is not set +# CONFIG_BLK_CPQ_DA is not set +# CONFIG_BLK_CPQ_CISS_DA is not set +# CONFIG_BLK_DEV_DAC960 is not set +CONFIG_BLK_DEV_LOOP=y +CONFIG_BLK_DEV_NBD=y +CONFIG_BLK_DEV_RAM=y +CONFIG_BLK_DEV_RAM_SIZE=4096 +CONFIG_BLK_DEV_INITRD=y + +# # Networking options # # CONFIG_PACKET is not set # CONFIG_NETLINK is not set # CONFIG_NETFILTER is not set # CONFIG_FILTER is not set -# CONFIG_UNIX is not set -# CONFIG_INET is not set - -# -# -# +CONFIG_UNIX=y +CONFIG_INET=y +# CONFIG_IP_MULTICAST is not set +# CONFIG_IP_ADVANCED_ROUTER is not set +CONFIG_IP_PNP=y +CONFIG_IP_PNP_BOOTP=y +# CONFIG_IP_PNP_RARP is not set +# CONFIG_NET_IPIP is not set +# CONFIG_NET_IPGRE is not set +# CONFIG_INET_ECN is not set +# CONFIG_SYN_COOKIES is not set +# CONFIG_IPV6 is not set +# CONFIG_KHTTPD is not set +# CONFIG_ATM is not set # CONFIG_IPX is not set # CONFIG_ATALK is not set -# CONFIG_DECNET is not set +CONFIG_DECNET=y +# CONFIG_DECNET_SIOCGIFCONF is not set +# CONFIG_DECNET_ROUTER is not set # CONFIG_BRIDGE is not set +# CONFIG_X25 is not set +# CONFIG_LAPB is not set +# CONFIG_LLC is not set +# CONFIG_NET_DIVERT is not set +# CONFIG_ECONET is not set +# CONFIG_WAN_ROUTER is not set +# CONFIG_NET_FASTROUTE is not set +# CONFIG_NET_HW_FLOWCONTROL is not set + +# +# QoS and/or fair queueing +# +# CONFIG_NET_SCHED is not set # # SCSI support # -# CONFIG_SCSI is not set +CONFIG_SCSI=y +CONFIG_BLK_DEV_SD=y +CONFIG_CHR_DEV_ST=y +CONFIG_BLK_DEV_SR=y +CONFIG_CHR_DEV_SG=y +# CONFIG_SCSI_MULTI_LUN is not set +CONFIG_SCSI_CONSTANTS=y +CONFIG_SCSI_VAX_5380=y # # Network device support # CONFIG_NETDEVICES=y -# CONFIG_DUMMY is not set -# CONFIG_SLIP is not set -# CONFIG_PPP is not set -# CONFIG_VAX_LANCE is not set +CONFIG_DUMMY=y +CONFIG_SLIP=y +# CONFIG_SLIP_COMPRESSED is not set +# CONFIG_SLIP_SMART is not set +CONFIG_PPP=y +CONFIG_VAX_LANCE=y # # File systems @@ -101,7 +163,7 @@ # CONFIG_QNX4FS_FS is not set # CONFIG_QNX4FS_RW is not set # CONFIG_ROMFS_FS is not set -# CONFIG_EXT2_FS is not set +CONFIG_EXT2_FS=y # CONFIG_SYSV_FS is not set # CONFIG_SYSV_FS_WRITE is not set # CONFIG_UDF_FS is not set @@ -113,21 +175,40 @@ # Network File Systems # # CONFIG_CODA_FS is not set -# CONFIG_NFS_FS is not set +CONFIG_NFS_FS=y # CONFIG_NFS_V3 is not set -# CONFIG_ROOT_NFS is not set +CONFIG_ROOT_NFS=y # CONFIG_NFSD is not set # CONFIG_NFSD_V3 is not set -# CONFIG_SUNRPC is not set -# CONFIG_LOCKD is not set +CONFIG_SUNRPC=y +CONFIG_LOCKD=y # CONFIG_SMB_FS is not set +# CONFIG_NCP_FS is not set +# CONFIG_NCPFS_PACKET_SIGNING is not set +# CONFIG_NCPFS_IOCTL_LOCKING is not set +# CONFIG_NCPFS_STRONG is not set +# CONFIG_NCPFS_NFS_NS is not set +# CONFIG_NCPFS_OS2_NS is not set +# CONFIG_NCPFS_SMALLDOS is not set # CONFIG_NCPFS_NLS is not set +# CONFIG_NCPFS_EXTRAS is not set # # Partition Types # -# CONFIG_PARTITION_ADVANCED is not set +CONFIG_PARTITION_ADVANCED=y +# CONFIG_ACORN_PARTITION is not set +CONFIG_OSF_PARTITION=y +# CONFIG_AMIGA_PARTITION is not set +# CONFIG_ATARI_PARTITION is not set +# CONFIG_MAC_PARTITION is not set CONFIG_MSDOS_PARTITION=y +# CONFIG_BSD_DISKLABEL is not set +# CONFIG_SOLARIS_X86_PARTITION is not set +# CONFIG_UNIXWARE_DISKLABEL is not set +# CONFIG_SGI_PARTITION is not set +CONFIG_ULTRIX_PARTITION=y +# CONFIG_SUN_PARTITION is not set # CONFIG_SMB_NLS is not set # CONFIG_NLS is not set @@ -139,10 +220,13 @@ CONFIG_DZ=y CONFIG_SERIAL_MTPR=y CONFIG_SERIAL_CONSOLE=y -# CONFIG_UNIX98_PTYS is not set +CONFIG_UNIX98_PTYS=y +CONFIG_UNIX98_PTY_COUNT=256 # # Kernel hacking # -# CONFIG_DEBUG_MALLOC is not set -# CONFIG_PROFILE is not set +CONFIG_DEBUG_MALLOC=y +CONFIG_MAGIC_SYSRQ=y +CONFIG_PROFILE=y +CONFIG_PROFILE_SHIFT=2 |
From: Andy P. <at...@us...> - 2001-02-18 12:02:41
|
Update of /cvsroot/linux-vax/kernel-2.4/arch/vax/mm In directory usw-pr-cvs1:/tmp/cvs-serv15323/mm Modified Files: init.c Log Message: More pagelet fixes - pfns is the hardware ptes, and they need dividing by 8 Index: init.c =================================================================== RCS file: /cvsroot/linux-vax/kernel-2.4/arch/vax/mm/init.c,v retrieving revision 1.6 retrieving revision 1.7 diff -u -r1.6 -r1.7 --- init.c 2001/02/16 00:54:26 1.6 +++ init.c 2001/02/18 12:03:31 1.7 @@ -69,15 +69,15 @@ void mem_init(void) { - max_mapnr = num_physpages = max_low_pfn; + max_mapnr = num_physpages = max_low_pfn/8; /* this will put all low memory onto the freelists */ totalram_pages += free_all_bootmem(); +asm("halt"); + high_memory = (void *) __va((max_low_pfn/8) * PAGE_SIZE); - high_memory = (void *) __va(max_low_pfn * PAGE_SIZE); - printk("Memory: %luk/%luk available\n", - (unsigned long) nr_free_pages() / 2, max_mapnr / 2); + (unsigned long) nr_free_pages() << (PAGE_SHIFT-10), max_mapnr << (PAGE_SHIFT-10)); return; } |
From: Andy P. <at...@us...> - 2001-02-18 12:02:41
|
Update of /cvsroot/linux-vax/kernel-2.4/arch/vax/boot In directory usw-pr-cvs1:/tmp/cvs-serv15323/boot Modified Files: tmp_init.c Log Message: More pagelet fixes - pfns is the hardware ptes, and they need dividing by 8 Index: tmp_init.c =================================================================== RCS file: /cvsroot/linux-vax/kernel-2.4/arch/vax/boot/tmp_init.c,v retrieving revision 1.6 retrieving revision 1.7 diff -u -r1.6 -r1.7 --- tmp_init.c 2001/02/16 00:54:26 1.6 +++ tmp_init.c 2001/02/18 12:03:31 1.7 @@ -162,8 +162,8 @@ /* mem_init finishes up memory init. It places all remaining memory on the free list */ -/* asm("halt");*/ mem_init(); + asm("halt"); kmem_cache_sizes_init(); #ifdef CONFIG_PROC_FS |
From: Andy P. <at...@us...> - 2001-02-16 00:53:44
|
Update of /cvsroot/linux-vax/kernel-2.4/include/asm-vax In directory usw-pr-cvs1:/tmp/cvs-serv20040/include/asm-vax Modified Files: irq.h Log Message: Fixes for page size and set_pte problems caused by pagelet layer Index: irq.h =================================================================== RCS file: /cvsroot/linux-vax/kernel-2.4/include/asm-vax/irq.h,v retrieving revision 1.1 retrieving revision 1.2 diff -u -r1.1 -r1.2 --- irq.h 2001/01/17 16:18:52 1.1 +++ irq.h 2001/02/16 00:54:26 1.2 @@ -18,7 +18,7 @@ #define NO_IRQ 1023 #endif -#define INT_STACK_SIZE 4096 +#define INT_STACK_SIZE 8192 #ifndef __ASSEMBLY__ |
From: Andy P. <at...@us...> - 2001-02-16 00:53:44
|
Update of /cvsroot/linux-vax/kernel-2.4/arch/vax/mm In directory usw-pr-cvs1:/tmp/cvs-serv20040/arch/vax/mm Modified Files: init.c Log Message: Fixes for page size and set_pte problems caused by pagelet layer Index: init.c =================================================================== RCS file: /cvsroot/linux-vax/kernel-2.4/arch/vax/mm/init.c,v retrieving revision 1.5 retrieving revision 1.6 diff -u -r1.5 -r1.6 --- init.c 2001/02/15 01:26:58 1.5 +++ init.c 2001/02/16 00:54:26 1.6 @@ -40,8 +40,8 @@ void __init paging_init() { unsigned long zones_size[MAX_NR_ZONES] = { 0, 0, 0 }; - - zones_size[ZONE_DMA] = max_pfn; + /* max_pfn is the number of hwptes */ + zones_size[ZONE_DMA] = max_pfn/8; free_area_init(zones_size); } |
From: Andy P. <at...@us...> - 2001-02-16 00:53:43
|
Update of /cvsroot/linux-vax/kernel-2.4/arch/vax/boot In directory usw-pr-cvs1:/tmp/cvs-serv20040/arch/vax/boot Modified Files: tmp_init.c Log Message: Fixes for page size and set_pte problems caused by pagelet layer Index: tmp_init.c =================================================================== RCS file: /cvsroot/linux-vax/kernel-2.4/arch/vax/boot/tmp_init.c,v retrieving revision 1.5 retrieving revision 1.6 diff -u -r1.5 -r1.6 --- tmp_init.c 2001/02/15 16:50:53 1.5 +++ tmp_init.c 2001/02/16 00:54:26 1.6 @@ -154,13 +154,15 @@ kmem_cache_init(); printk("Dropping IPL to 0 to allow clock interrupts\n"); - sti(); + sti(); + calibrate_delay(); /* mem_init finishes up memory init. It places all remaining memory on the free list */ +/* asm("halt");*/ mem_init(); kmem_cache_sizes_init(); |
From: Andy P. <at...@us...> - 2001-02-16 00:53:43
|
Update of /cvsroot/linux-vax/kernel-2.4/arch/vax/kernel In directory usw-pr-cvs1:/tmp/cvs-serv20040/arch/vax/kernel Modified Files: interrupt.c setup.c Log Message: Fixes for page size and set_pte problems caused by pagelet layer Index: interrupt.c =================================================================== RCS file: /cvsroot/linux-vax/kernel-2.4/arch/vax/kernel/interrupt.c,v retrieving revision 1.6 retrieving revision 1.7 diff -u -r1.6 -r1.7 --- interrupt.c 2001/02/15 01:26:58 1.6 +++ interrupt.c 2001/02/16 00:54:26 1.7 @@ -53,7 +53,7 @@ t = &interrupt_stack[0]; s = SPT_BASE; /* Do we need more than a page for the int stack? */ - if (INT_STACK_SIZE < PAGE_SIZE) { + if (INT_STACK_SIZE <= PAGE_SIZE) { printk("Interrupt stack too small, must be > PAGE_SIZE\n"); machine_halt(); } @@ -62,6 +62,7 @@ /* 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. */ Index: setup.c =================================================================== RCS file: /cvsroot/linux-vax/kernel-2.4/arch/vax/kernel/setup.c,v retrieving revision 1.4 retrieving revision 1.5 diff -u -r1.4 -r1.5 --- setup.c 2001/02/15 01:26:58 1.4 +++ setup.c 2001/02/16 00:54:26 1.5 @@ -85,7 +85,7 @@ free_bootmem(bootmap_size, KERNEL_START_PHYS - bootmap_size); printk("calling free_bootmem(%08lx, %08lx)\n", __pa(SPT_BASE + SPT_SIZE), (max_pfn << PAGE_SHIFT) - __pa(SPT_BASE + SPT_SIZE)); free_bootmem(__pa(SPT_BASE + SPT_SIZE), (max_pfn << PAGE_SHIFT) - __pa(SPT_BASE + SPT_SIZE)); - + paging_init(); /* Set up the initial PCB. We can refer to current because head.S |
From: Andy P. <at...@us...> - 2001-02-15 16:50:13
|
Update of /cvsroot/linux-vax/kernel-2.4/arch/vax/boot In directory usw-pr-cvs1:/tmp/cvs-serv16646/arch/vax/boot Modified Files: tmp_init.c Log Message: Fixes for pagelet related problems. mk_pte -> mk_pte_phys in ioremap. Index: tmp_init.c =================================================================== RCS file: /cvsroot/linux-vax/kernel-2.4/arch/vax/boot/tmp_init.c,v retrieving revision 1.4 retrieving revision 1.5 diff -u -r1.4 -r1.5 --- tmp_init.c 2001/02/15 01:26:58 1.4 +++ tmp_init.c 2001/02/15 16:50:53 1.5 @@ -108,7 +108,7 @@ * 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 @@ -136,8 +136,8 @@ printk("RPB info: l_pfncnt: %08x, .l_vmb_version: %08x .l_badpgs: %08x\n", boot_rpb.l_pfncnt, boot_rpb.l_vmb_version, boot_rpb.l_badpgs); - printk("Physical memory: %08x pages (%dKB)\n", - max_pfn, max_pfn / 2); + printk("Physical memory: %08x HW pagelets, %08x pages (%dKB)\n", + max_pfn, max_pfn/8, max_pfn / 2); setup_arch(&command_line); |
From: Andy P. <at...@us...> - 2001-02-15 16:50:13
|
Update of /cvsroot/linux-vax/kernel-2.4/arch/vax/mm In directory usw-pr-cvs1:/tmp/cvs-serv16646/arch/vax/mm Modified Files: ioremap.c Log Message: Fixes for pagelet related problems. mk_pte -> mk_pte_phys in ioremap. Index: ioremap.c =================================================================== RCS file: /cvsroot/linux-vax/kernel-2.4/arch/vax/mm/ioremap.c,v retrieving revision 1.3 retrieving revision 1.4 diff -u -r1.3 -r1.4 --- ioremap.c 2001/02/15 01:26:58 1.3 +++ ioremap.c 2001/02/15 16:50:54 1.4 @@ -101,6 +101,7 @@ } } } + if ((p - start_pte) != num_ptes) { /* Unable to find contiguous chunk of IOMAP PTEs */ @@ -114,8 +115,14 @@ virt_start = SPTE_TO_VIRT(start_pte); for (i = 0; i < num_ptes; i++) { - set_pte( (pte_t *)start_pte++, mk_pte((phys_start+(i*PAGE_SHIFT)),__pgprot(_PAGE_VALID | _PAGE_KW))); - __flush_tlb_one(virt_start + (i<<PAGELET_SHIFT)); + set_pte( (pte_t *)start_pte + i,mk_pte_phys((phys_start + i*PAGE_SIZE), __pgprot(_PAGE_VALID | _PAGE_KW)) ); + +/* asm(" movl %0,r2\n" + " movl %1,r3\n" + " movl %2,r4\n" + " halt" : : "g"(start_pte->pte), "g"(phys_start), "g"(virt_start) );*/ + /* fixme: tlb flushes for other pagelets */ + __flush_tlb_one(virt_start + (i<<PAGE_SHIFT)); } printk("IO mapped phys addr 0x%08lx, 0x%04x pages at virt 0x%08lx (IOMAP PTE index 0x%04x)\n", |
From: Andy P. <at...@us...> - 2001-02-15 16:50:13
|
Update of /cvsroot/linux-vax/kernel-2.4/arch/vax/kernel In directory usw-pr-cvs1:/tmp/cvs-serv16646/arch/vax/kernel Modified Files: cpu_ka46.c Log Message: Fixes for pagelet related problems. mk_pte -> mk_pte_phys in ioremap. Index: cpu_ka46.c =================================================================== RCS file: /cvsroot/linux-vax/kernel-2.4/arch/vax/kernel/cpu_ka46.c,v retrieving revision 1.2 retrieving revision 1.3 diff -u -r1.2 -r1.3 --- cpu_ka46.c 2001/02/15 01:26:58 1.2 +++ cpu_ka46.c 2001/02/15 16:50:54 1.3 @@ -75,7 +75,6 @@ { init_dz11_console(0x200A0000, 3); dz_serial_console_init(0, 0); - asm("halt"); } const char *ka46_cpu_type_str(void) |
From: Andy P. <at...@us...> - 2001-02-15 16:50:12
|
Update of /cvsroot/linux-vax/kernel-2.4/include/asm-vax/mm In directory usw-pr-cvs1:/tmp/cvs-serv16646/include/asm-vax/mm Modified Files: pagelet.h Log Message: Fixes for pagelet related problems. mk_pte -> mk_pte_phys in ioremap. Index: pagelet.h =================================================================== RCS file: /cvsroot/linux-vax/kernel-2.4/include/asm-vax/mm/pagelet.h,v retrieving revision 1.1 retrieving revision 1.2 diff -u -r1.1 -r1.2 --- pagelet.h 2001/02/15 01:17:23 1.1 +++ pagelet.h 2001/02/15 16:50:54 1.2 @@ -45,14 +45,16 @@ #define PAGE_SHIFT 12 #define PAGE_SIZE (1UL << PAGE_SHIFT) /* our page PFN is in the LSB - this is the same as the pagelet case? */ -#define PAGE_MASK (0x1FFFFF) +#define PAGE_PFN_MASK (0x1FFFFF) +#define PAGE_MASK (~(PAGE_SIZE-1)) /* PAGELET_SHIFT determines the hardware page size */ #define PAGELET_SHIFT 9 #define PAGELET_SIZE (1UL << PAGELET_SHIFT) /* our page PFN is in the LSB */ -#define PAGELET_MASK (0x1FFFFF) +#define PAGELET_PFN_MASK (0x1FFFFF) +#define PAGELET_MASK (~(PAGELET_SIZE-1)) #define PAGELET_ALIGN(addr) (((addr)+PAGELET_SIZE-1)&PAGELET_MASK) #define PAGELET_ALIGN_PREV(addr) ((addr)&PAGELET_MASK) |
From: Andy P. <at...@us...> - 2001-02-15 01:42:18
|
Update of /cvsroot/linux-vax/kernel-2.4/include/asm-vax In directory usw-pr-cvs1:/tmp/cvs-serv387 Modified Files: pcb.h io.h Log Message: Pagelet/MM updates Index: pcb.h =================================================================== RCS file: /cvsroot/linux-vax/kernel-2.4/include/asm-vax/pcb.h,v retrieving revision 1.3 retrieving revision 1.4 diff -u -r1.3 -r1.4 --- pcb.h 2001/01/23 23:48:35 1.3 +++ pcb.h 2001/02/15 01:42:58 1.4 @@ -29,6 +29,9 @@ unsigned long int pc; struct psl_fields psl; unsigned long int p0br; +/* note the length registers hold the number of HWPTES. i.e. 8* + * that which you would expect from the values in the PGD + */ unsigned long int p0lr:22; unsigned long int mbz1:2; /* reserved, MBZ */ unsigned long int astlvl:3; Index: io.h =================================================================== RCS file: /cvsroot/linux-vax/kernel-2.4/include/asm-vax/io.h,v retrieving revision 1.2 retrieving revision 1.3 diff -u -r1.2 -r1.3 --- io.h 2001/01/18 15:52:28 1.2 +++ io.h 2001/02/15 01:42:58 1.3 @@ -10,7 +10,7 @@ #include <linux/vmalloc.h> #include <asm/page.h> -#include <asm/mm/virt_trans.h> /* virt_to_phys stuff */ +#include <asm/mm/virtmap.h> /* virt_to_phys stuff */ /* FIXME: What is the proper value for this ? */ |
From: Andy P. <at...@us...> - 2001-02-15 01:26:18
|
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__ |