From: Roman Z. <zi...@fh...> - 2000-05-25 08:14:48
|
Hi, Yesterday I got 2.3.99pre8 running, I could start an init shell, do a ls and go to bed. :-) Anyway, I still have to remove the debugging mess and it was running without cache, so I'll have to do a few more tests today and update it to the latest kernel, so I can upload/import/commit the patch/source tomorrow, just tell me where you want it. bye, Roman |
From: <fp...@zu...> - 2000-05-25 08:26:45
|
On Thu, May 25, 2000 at 10:05:41AM +0200, Roman Zippel wrote: > Hi, > > Yesterday I got 2.3.99pre8 running, I could start an init shell, do a ls > and go to bed. :-) Now, tell us, what was the showstopper? -- Frank Petzold, IBM Zurich Research Laboratory, Säumerstrasse 4, CH-8803 Rüschlikon/Switzerland, Tel. +41-1-724-84-42 Fax. +41-1-724-89-56 Business email: fp...@zu... Private email: pe...@he... The opinions expressed here are mine and not necessarily those of IBM. |
From: Roman Z. <zi...@fh...> - 2000-05-25 09:10:02
|
Hi, > > Yesterday I got 2.3.99pre8 running, I could start an init shell, do a ls > > and go to bed. :-) > > Now, tell us, what was the showstopper? A wrong entry in the hash table, the usual assumption that all memory starts at physical address zero. :( The problem was, that it had such a strange effect, the cpu did basically nothing (visibly) for about a minute after the hash table entry was updated. There was no further page fault for that, so I did not expect that the hash table entry was wrong. And as soon the first page fault from user space happened, I saw that the entry was updated, it returned and after that I got machine check exception from the interrupt handler... bye, Roman |
From: Jesper S. <js...@re...> - 2000-05-25 09:16:29
|
>>>>> "Roman" == Roman Zippel <zi...@fh...> writes: Roman> Hi, >> > Yesterday I got 2.3.99pre8 running, I could start an init shell, >> do a ls > and go to bed. :-) >> >> Now, tell us, what was the showstopper? Roman> A wrong entry in the hash table, the usual assumption that all Roman> memory starts at physical address zero. :( The problem was, Roman> that it had such a strange effect, the cpu did basically Roman> nothing (visibly) for about a minute after the hash table entry Roman> was updated. There was no further page fault for that, so I did Roman> not expect that the hash table entry was wrong. And as soon the Roman> first page fault from user space happened, I saw that the entry Roman> was updated, it returned and after that I got machine check Roman> exception from the interrupt handler... I suspected as much, but since I didn't see any further exceptions after hash table updating, I figured it had to be something else. I've never had the patience to let the fscker sit for a full minute and cook in its own fat :) Very nice! Jesper |
From: Roman Z. <zi...@fh...> - 2000-05-25 11:10:12
|
Hi, > I suspected as much, but since I didn't see any further exceptions > after hash table updating, I figured it had to be something else. I've > never had the patience to let the fscker sit for a full minute and > cook in its own fat :) I have the kernel output connected to the serial line and sometimes I let it running and I was surprised the prints went on after a while. bye, Roman |
From: Rune E. <re...@gr...> - 2000-05-25 08:35:27
|
On Thu, 25 May 2000, Roman Zippel wrote: > Hi, > > Yesterday I got 2.3.99pre8 running, I could start an init shell, do a ls > and go to bed. :-) hey, that's GREAT!.... then we can start making the DRI/DRM stuff for pm2 :) atleast very soon! --- Rune Elvemo --- Octagon / Digital Minds re...@gr... http://home.c2i.net/elvemo |
From: Michel <dae...@st...> - 2000-05-25 11:20:25
|
Roman Zippel wrote: > Yesterday I got 2.3.99pre8 running, I could start an init shell, do a ls > and go to bed. :-) That's very great news, thanks Roman! > Anyway, I still have to remove the debugging mess and it was running > without cache, so I'll have to do a few more tests today and update it to > the latest kernel, so I can upload/import/commit the patch/source > tomorrow, just tell me where you want it. Please discuss this with Sven and import it ASAP, I can't wait to check it out (sic) :) Now we'll have to put some drivers back in, most notably (for me at least) the Blizzard SCSI driver. Michel -- Secret hacker rule #11: hackers read manuals. ______________________________________________________________________________ Earthling Michel Dänzer (MrCooper) \ CS student and free software enthusiast Debian GNU/Linux (powerpc,i386) user \ member of XFree86, Team *AMIGA*, AUGS |
From: Roman Z. <zi...@fh...> - 2000-05-25 16:29:45
|
Hi, > > Anyway, I still have to remove the debugging mess and it was running > > without cache, so I'll have to do a few more tests today and update it to > > the latest kernel, so I can upload/import/commit the patch/source > > tomorrow, just tell me where you want it. > > Please discuss this with Sven and import it ASAP, I can't wait to check it out > (sic) :) Sven? bye, Roman |
From: Michel <dae...@st...> - 2000-05-25 18:04:12
|
Roman Zippel wrote: > > > Anyway, I still have to remove the debugging mess and it was running > > > without cache, so I'll have to do a few more tests today and update it > > > to the latest kernel, so I can upload/import/commit the patch/source > > > tomorrow, just tell me where you want it. > > > > Please discuss this with Sven and import it ASAP, I can't wait to check it > > out (sic) :) > > Sven? Sven Luther. He intended to build up the repository, but now we're trying to move Jesper's original CVS repository. Michel -- True programmers never die, they just branch to an odd address. ______________________________________________________________________________ Earthling Michel Dänzer (MrCooper) \ CS student and free software enthusiast Debian GNU/Linux (powerpc,i386) user \ member of XFree86, Team *AMIGA*, AUGS |
From: Roman Z. <zi...@fh...> - 2000-05-26 08:00:16
|
Hi, > > Sven? > > Sven Luther. He intended to build up the repository, but now we're trying to > move Jesper's original CVS repository. Sorry, I should have written two words more, of course I know Sven, how could I forget that nice accent from Linux/m68k meeting two years ago. :-) Anyway, he seemed busy yesterday on the user mailing list and there was no mail from him yesterday on this list. bye, Roman |
From: Sven L. <lu...@dp...> - 2000-05-26 08:02:53
|
On Fri, May 26, 2000 at 09:50:15AM +0200, Roman Zippel wrote: > Hi, > > > > Sven? > > > > Sven Luther. He intended to build up the repository, but now we're trying to > > move Jesper's original CVS repository. > > Sorry, I should have written two words more, of course I know Sven, how > could I forget that nice accent from Linux/m68k meeting two years ago. :-) > Anyway, he seemed busy yesterday on the user mailing list and there was no > mail from him yesterday on this list. Lets first solve the cvs problem at sourceforge, in the mean time you could post a simple patch to be uploaded to the ftp repository ? Friendly, Sven LUTHER |
From: Sven L. <lu...@dp...> - 2000-05-26 05:37:56
|
On Thu, May 25, 2000 at 06:14:36PM +0200, Roman Zippel wrote: > Hi, > > > > Anyway, I still have to remove the debugging mess and it was running > > > without cache, so I'll have to do a few more tests today and update it to > > > the latest kernel, so I can upload/import/commit the patch/source > > > tomorrow, just tell me where you want it. > > > > Please discuss this with Sven and import it ASAP, I can't wait to check it out > > (sic) :) > > Sven? Well, i handled the 2.2.10 tree up to now. I think we will have to wait until we have the cvs tree up at sourceforge. will do it today, i think, so please send me a patfch or something ... Friendly, Sven LUTHER |
From: Roman Z. <zi...@fh...> - 2000-05-26 08:05:16
|
Hi, > Well, i handled the 2.2.10 tree up to now. I think we will have to wait until > we have the cvs tree up at sourceforge. will do it today, i think, so please > send me a patfch or something ... Ok, here is a patch for the bitkeeper source, it's quite small, most of the needed changes are already there and a few things might be missing from Jes' last patch (like kgdb). The Ariadne2 driver isn't working yet, but I hadn't enough time to look into this yesterday and some other things need to be cleaned up... bye, Roman diff -Nur -X apus_nodiff linuxppc_2_3/Makefile linux-apus/Makefile --- linuxppc_2_3/Makefile Wed May 24 08:36:35 2000 +++ linux-apus/Makefile Thu May 25 21:39:32 2000 @@ -5,7 +5,7 @@ KERNELRELEASE=$(VERSION).$(PATCHLEVEL).$(SUBLEVEL)$(EXTRAVERSION) -ARCH := $(shell uname -m | sed -e s/i.86/i386/ -e s/sun4u/sparc64/ -e s/arm.*/arm/ -e s/sa110/arm/) +ARCH := ppc CONFIG_SHELL := $(shell if [ -x "$$BASH" ]; then echo $$BASH; \ else if [ -x /bin/bash ]; then echo /bin/bash; \ @@ -18,7 +18,7 @@ HOSTCC = gcc HOSTCFLAGS = -Wall -Wstrict-prototypes -O2 -fomit-frame-pointer -CROSS_COMPILE = +CROSS_COMPILE = ppc-linux- # # Include the make variables (CC, etc...) diff -Nur -X apus_nodiff linuxppc_2_3/arch/ppc/amiga/chipram.c linux-apus/arch/ppc/amiga/chipram.c --- linuxppc_2_3/arch/ppc/amiga/chipram.c Wed Mar 1 21:31:02 2000 +++ linux-apus/arch/ppc/amiga/chipram.c Thu May 11 23:43:37 2000 @@ -72,7 +72,7 @@ #endif } -void *amiga_chip_alloc (long size) +void *amiga_chip_alloc (long size, const char *name) { /* last chunk */ struct chip_desc *dp; diff -Nur -X apus_nodiff linuxppc_2_3/arch/ppc/amiga/config.c linux-apus/arch/ppc/amiga/config.c --- linuxppc_2_3/arch/ppc/amiga/config.c Wed Mar 1 21:29:00 2000 +++ linux-apus/arch/ppc/amiga/config.c Thu May 25 21:49:01 2000 @@ -734,7 +734,7 @@ static void amiga_savekmsg_init(void) { - savekmsg = (struct savekmsg *)amiga_chip_alloc(SAVEKMSG_MAXMEM); + savekmsg = (struct savekmsg *)amiga_chip_alloc(SAVEKMSG_MAXMEM, "Debug"); savekmsg->magic1 = SAVEKMSG_MAGIC1; savekmsg->magic2 = SAVEKMSG_MAGIC2; savekmsg->magicptr = virt_to_phys(savekmsg); diff -Nur -X apus_nodiff linuxppc_2_3/arch/ppc/config.in linux-apus/arch/ppc/config.in --- linuxppc_2_3/arch/ppc/config.in Mon Apr 24 08:30:50 2000 +++ linux-apus/arch/ppc/config.in Tue May 16 20:30:00 2000 @@ -172,6 +172,9 @@ define_bool CONFIG_AMIGAMOUSE y define_bool CONFIG_ABSTRACT_CONSOLE y define_bool CONFIG_FB y + define_bool CONFIG_MOUSE y + define_bool CONFIG_BUSMOUSE y + define_bool CONFIG_APUS_FAST_EXCEPT y tristate 'Amiga builtin serial support' CONFIG_AMIGA_BUILTIN_SERIAL tristate 'Parallel printer support' CONFIG_M68K_PRINTER tristate 'GVP IO-Extender support' CONFIG_GVPIOEXT diff -Nur -X apus_nodiff linuxppc_2_3/arch/ppc/kernel/apus_setup.c linux-apus/arch/ppc/kernel/apus_setup.c --- linuxppc_2_3/arch/ppc/kernel/apus_setup.c Thu Apr 27 08:32:10 2000 +++ linux-apus/arch/ppc/kernel/apus_setup.c Thu May 25 22:05:09 2000 @@ -23,10 +23,6 @@ #include <linux/blk.h> #include <linux/pci.h> -#ifdef CONFIG_APUS -#include <asm/logging.h> -#endif - /* Needs INITSERIAL call in head.S! */ #undef APUS_DEBUG @@ -243,6 +239,9 @@ } } + memcpy(0xfff00000, KERNELBASE, 0x4000); + flush_icache_range(0xfff00000, 0xfff04000); + config_amiga(); #if 0 /* Enable for logging - also include logging.o in Makefile rule */ @@ -339,7 +338,7 @@ freq = 16500000; } else { printk ("APUS: Unable to determine bus speed (%d). " - "Defaulting to 50MHz", bus_speed); + "Defaulting to 50MHz\n", bus_speed); bus_speed = 50; freq = 12500000; speed_test_failed = 1; @@ -937,7 +936,7 @@ __apus int __debug_serinit( void ) -{ +{ unsigned long flags; save_flags (flags); diff -Nur -X apus_nodiff linuxppc_2_3/arch/ppc/kernel/head.S linux-apus/arch/ppc/kernel/head.S --- linuxppc_2_3/arch/ppc/kernel/head.S Sat May 20 08:34:36 2000 +++ linux-apus/arch/ppc/kernel/head.S Thu May 25 21:55:02 2000 @@ -145,10 +145,12 @@ mr r29,r5 mr r28,r6 mr r27,r7 + +#ifndef CONFIG_APUS li r24,0 /* cpu # */ bl prom_init -#ifdef CONFIG_APUS +#else /* CONFIG_APUS */ /* On APUS the __va/__pa constants need to be set to the correct * values before continuing. */ @@ -306,7 +308,7 @@ stw r1,0(r21); \ tovirt(r1,r21); /* set new kernel sp */ \ SAVE_4GPRS(3, r21); \ - SAVE_GPR(7, r21); + SAVE_GPR(7, r21) /* * Note: code which follows this uses cr0.eq (set if from kernel), * r21, r22 (SRR0), and r23 (SRR1). @@ -350,7 +352,15 @@ mfspr r3,DAR /* into the hash table */ rlwinm r4,r23,32-13,30,30 /* MSR_PR -> _PAGE_USER */ rlwimi r4,r20,32-23,29,29 /* DSISR_STORE -> _PAGE_RW */ +#ifndef CONFIG_APUS bl hash_page +#else + lis r2,hash_page@h + ori r2,r2,hash_page@l + tophys(r2,r2) + mtlr r2 + blrl +#endif 1: stw r20,_DSISR(r21) mr r5,r20 mfspr r4,DAR @@ -371,7 +381,15 @@ mr r3,r22 /* into the hash table */ rlwinm r4,r23,32-13,30,30 /* MSR_PR -> _PAGE_USER */ mr r20,r23 /* SRR1 has reason bits */ +#ifndef CONFIG_APUS bl hash_page +#else + lis r2,hash_page@h + ori r2,r2,hash_page@l + tophys(r2,r2) + mtlr r2 + blrl +#endif 1: addi r3,r1,STACK_FRAME_OVERHEAD mr r4,r22 mr r5,r23 @@ -384,7 +402,7 @@ /* External interrupt */ . = 0x500; HardwareInterrupt: - EXCEPTION_PROLOG; + EXCEPTION_PROLOG addi r3,r1,STACK_FRAME_OVERHEAD li r20,MSR_KERNEL #ifndef CONFIG_APUS @@ -1138,7 +1156,7 @@ * without cache intervention. Then disable interrupts and get * the current emulated m68k IPL value. */ - + mfmsr 20 xori r20,r20,MSR_DR sync @@ -1151,8 +1169,11 @@ stb r20,APUS_IPL_EMU@l(r4) eieio + /* Get emulated IPL value. [5-3:requested IPL][2-0:current IPL] */ lbz r3,APUS_IPL_EMU@l(r4) + /* Check for bad values (0 & 7) then update current IPL value + with the requested value */ li r2,IPLEMU_IPLMASK rlwinm. r20,r3,32-3,29,31 bne 2f @@ -1180,11 +1201,13 @@ mtmsr r20 sync - stw r3,(_CCR+4)(r21); + stw r3,(_MQ)(r21); addi r3,r1,STACK_FRAME_OVERHEAD; li r20,MSR_KERNEL; bl transfer_to_handler; + .globl do_IRQ_intercept +do_IRQ_intercept: .long do_IRQ; .long ret_from_except @@ -1403,7 +1426,7 @@ bl identify_machine bl MMU_init -#ifdef CONFIG_APUS +#ifdef _CONFIG_APUS /* Copy exception code to exception vector base on APUS. */ lis r4,KERNELBASE@h #ifdef CONFIG_APUS_FAST_EXCEPT diff -Nur -X apus_nodiff linuxppc_2_3/arch/ppc/kernel/ppc_ksyms.c linux-apus/arch/ppc/kernel/ppc_ksyms.c --- linuxppc_2_3/arch/ppc/kernel/ppc_ksyms.c Wed May 24 08:36:35 2000 +++ linux-apus/arch/ppc/kernel/ppc_ksyms.c Thu May 25 21:40:12 2000 @@ -82,7 +82,7 @@ EXPORT_SYMBOL(kernel_flag); #endif /* CONFIG_SMP */ -#if !defined(CONFIG_4xx) && !defined(CONFIG_8xx) +#if !defined(CONFIG_4xx) && !defined(CONFIG_8xx) && !defined(CONFIG_APUS) EXPORT_SYMBOL(isa_io_base); EXPORT_SYMBOL(isa_mem_base); EXPORT_SYMBOL(pci_dram_offset); @@ -273,6 +273,7 @@ #endif EXPORT_SYMBOL(down_read_failed); +#if defined(CONFIG_XMON) || defined(CONFIG_KGDB) extern void (*debugger)(struct pt_regs *regs); extern int (*debugger_bpt)(struct pt_regs *regs); extern int (*debugger_sstep)(struct pt_regs *regs); @@ -286,5 +287,6 @@ EXPORT_SYMBOL(debugger_iabr_match); EXPORT_SYMBOL(debugger_dabr_match); EXPORT_SYMBOL(debugger_fault_handler); +#endif EXPORT_SYMBOL(ret_to_user_hook); diff -Nur -X apus_nodiff linuxppc_2_3/arch/ppc/kernel/setup.c linux-apus/arch/ppc/kernel/setup.c --- linuxppc_2_3/arch/ppc/kernel/setup.c Wed May 17 08:35:45 2000 +++ linux-apus/arch/ppc/kernel/setup.c Thu May 25 21:56:00 2000 @@ -423,8 +423,9 @@ identify_machine(unsigned long r3, unsigned long r4, unsigned long r5, unsigned long r6, unsigned long r7) { +#ifndef CONFIG_APUS /*FIXME:APUS: proper integration */ parse_bootinfo(); - +#endif if ( ppc_md.progress ) ppc_md.progress("id mach(): start", 0x100); #if !defined(CONFIG_4xx) && !defined(CONFIG_8xx) && !defined(CONFIG_8260) @@ -583,6 +584,7 @@ return 0; } +#ifndef CONFIG_APUS int parse_bootinfo(void) { struct bi_record *rec; @@ -633,6 +635,7 @@ return 0; } +#endif /* Checks "l2cr=xxxx" command-line option */ void ppc_setup_l2cr(char *str, int *ints) diff -Nur -X apus_nodiff linuxppc_2_3/arch/ppc/mm/fault.c linux-apus/arch/ppc/mm/fault.c --- linuxppc_2_3/arch/ppc/mm/fault.c Tue May 16 08:40:29 2000 +++ linux-apus/arch/ppc/mm/fault.c Thu May 25 21:56:48 2000 @@ -125,7 +125,7 @@ /* Guarded storage error. */ goto bad_area; #endif /* CONFIG_8xx */ - + /* a write */ if (is_write) { if (!(vma->vm_flags & VM_WRITE)) diff -Nur -X apus_nodiff linuxppc_2_3/arch/ppc/mm/init.c linux-apus/arch/ppc/mm/init.c --- linuxppc_2_3/arch/ppc/mm/init.c Fri May 12 08:35:45 2000 +++ linux-apus/arch/ppc/mm/init.c Thu May 25 21:57:28 2000 @@ -421,6 +421,22 @@ v = (ioremap_bot -= size); } +#if 1 + /* FIXME: Temporary hack to allow ptov conversions. */ + { + extern unsigned long kmap_chunks[]; + extern int kmap_chunk_count; + + kmap_chunks[kmap_chunk_count++] = p; + kmap_chunks[kmap_chunk_count++] = size; + kmap_chunks[kmap_chunk_count++] = v; + +#if 0 + printk ("ioremap: %08lx (%08lx) -> %08lx\n", p, size, v); +#endif + } +#endif + if ((flags & _PAGE_PRESENT) == 0) flags |= pgprot_val(PAGE_KERNEL); if (flags & (_PAGE_NO_CACHE | _PAGE_WRITETHRU)) @@ -1075,8 +1091,11 @@ } start = PAGE_ALIGN(start); - boot_mapsize = init_bootmem(start >> PAGE_SHIFT, - __pa(end_of_DRAM) >> PAGE_SHIFT); + min_low_pfn = start >> PAGE_SHIFT; + max_low_pfn = (__pa(end_of_DRAM) - __pa(KERNELBASE)) >> PAGE_SHIFT; + boot_mapsize = init_bootmem_node(0, start >> PAGE_SHIFT, + __pa(KERNELBASE) >> PAGE_SHIFT, + __pa(end_of_DRAM) >> PAGE_SHIFT); /* remove the bootmem bitmap from the available memory */ mem_pieces_remove(&phys_avail, start, boot_mapsize, 1); diff -Nur -X apus_nodiff linuxppc_2_3/drivers/char/Makefile linux-apus/drivers/char/Makefile --- linuxppc_2_3/drivers/char/Makefile Wed May 24 08:36:38 2000 +++ linux-apus/drivers/char/Makefile Thu May 25 21:58:40 2000 @@ -96,6 +96,11 @@ SERIAL = endif +ifeq ($(CONFIG_APUS),y) + KEYBD = amikeyb.o + SERIAL = +endif + obj-$(CONFIG_VT) += vt.o vc_screen.o consolemap.o consolemap_deftbl.o $(CONSOLE) selection.o obj-$(CONFIG_SERIAL) += $(SERIAL) diff -Nur -X apus_nodiff linuxppc_2_3/drivers/char/amikeyb.c linux-apus/drivers/char/amikeyb.c --- linuxppc_2_3/drivers/char/amikeyb.c Wed Mar 1 21:31:14 2000 +++ linux-apus/drivers/char/amikeyb.c Thu May 11 23:59:50 2000 @@ -176,7 +176,7 @@ static unsigned char rep_scancode; static void amikeyb_rep(unsigned long ignore); -static struct timer_list amikeyb_rep_timer = {NULL, NULL, 0, 0, amikeyb_rep}; +static struct timer_list amikeyb_rep_timer; static void amikeyb_rep(unsigned long ignore) { @@ -187,7 +187,6 @@ kbd_pt_regs = NULL; amikeyb_rep_timer.expires = jiffies + key_repeat_rate; - amikeyb_rep_timer.prev = amikeyb_rep_timer.next = NULL; add_timer(&amikeyb_rep_timer); handle_scancode(rep_scancode, 1); @@ -255,7 +254,6 @@ del_timer(&amikeyb_rep_timer); rep_scancode = keycode; amikeyb_rep_timer.expires = jiffies + key_repeat_delay; - amikeyb_rep_timer.prev = amikeyb_rep_timer.next = NULL; add_timer(&amikeyb_rep_timer); } handle_scancode(keycode, !break_flag); @@ -300,6 +298,9 @@ { if (!AMIGAHW_PRESENT(AMI_KEYBOARD)) return -EIO; + + init_timer(&amikeyb_rep_timer); + amikeyb_rep_timer.function = amikeyb_rep; /* setup key map */ memcpy(key_maps[0], amiplain_map, sizeof(plain_map)); diff -Nur -X apus_nodiff linuxppc_2_3/drivers/ide/gayle.c linux-apus/drivers/ide/gayle.c --- linuxppc_2_3/drivers/ide/gayle.c Wed Apr 19 08:32:05 2000 +++ linux-apus/drivers/ide/gayle.c Thu May 11 22:54:17 2000 @@ -17,6 +17,7 @@ #include <linux/ide.h> #include <linux/init.h> +#include <asm/setup.h> #include <asm/amigahw.h> #include <asm/amigaints.h> @@ -106,7 +107,7 @@ * Probe for a Gayle IDE interface (and optionally for an IDE doubler) */ -void __init gayle_init(void) +void /*__init*/ gayle_init(void) { int a4000, i; diff -Nur -X apus_nodiff linuxppc_2_3/drivers/net/ariadne2.c linux-apus/drivers/net/ariadne2.c --- linuxppc_2_3/drivers/net/ariadne2.c Wed Mar 1 21:30:38 2000 +++ linux-apus/drivers/net/ariadne2.c Thu May 11 22:20:06 2000 @@ -273,8 +273,8 @@ /* This *shouldn't* happen. If it does, it's the last thing you'll see */ if (ei_status.dmaing) { printk("%s: DMAing conflict in ne_get_8390_hdr " - "[DMAstat:%d][irqlock:%d][intr:%ld].\n", dev->name, ei_status.dmaing, - ei_status.irqlock, dev->interrupt); + "[DMAstat:%d][irqlock:%d].\n", dev->name, ei_status.dmaing, + ei_status.irqlock); return; } @@ -314,9 +314,8 @@ /* This *shouldn't* happen. If it does, it's the last thing you'll see */ if (ei_status.dmaing) { printk("%s: DMAing conflict in ne_block_input " - "[DMAstat:%d][irqlock:%d][intr:%ld].\n", - dev->name, ei_status.dmaing, ei_status.irqlock, - dev->interrupt); + "[DMAstat:%d][irqlock:%d].\n", + dev->name, ei_status.dmaing, ei_status.irqlock); return; } ei_status.dmaing |= 0x01; @@ -355,8 +354,8 @@ /* This *shouldn't* happen. If it does, it's the last thing you'll see */ if (ei_status.dmaing) { printk("%s: DMAing conflict in ne_block_output." - "[DMAstat:%d][irqlock:%d][intr:%ld]\n", dev->name, ei_status.dmaing, - ei_status.irqlock, dev->interrupt); + "[DMAstat:%d][irqlock:%d]\n", dev->name, ei_status.dmaing, + ei_status.irqlock); return; } ei_status.dmaing |= 0x01; diff -Nur -X apus_nodiff linuxppc_2_3/drivers/video/amifb.c linux-apus/drivers/video/amifb.c --- linuxppc_2_3/drivers/video/amifb.c Wed Apr 19 08:32:10 2000 +++ linux-apus/drivers/video/amifb.c Sat May 20 00:36:39 2000 @@ -1791,7 +1791,7 @@ * access the videomem with writethrough cache */ videomemory_phys = (u_long)ZTWO_PADDR(videomemory); - videomemory = (u_long)ioremap_writethrough(videomemory_phys, videomemorysize); + //videomemory = (u_long)ioremap_writethrough(videomemory_phys, videomemorysize); if (!videomemory) { printk("amifb: WARNING! unable to map videomem cached writethrough\n"); videomemory = ZTWO_VADDR(videomemory_phys); @@ -1812,15 +1812,26 @@ ami_init_copper(); +#if 1 if (request_irq(IRQ_AMIGA_AUTO_3, amifb_interrupt, 0, "fb vertb handler", NULL)) { err = -EBUSY; goto amifb_error; } - amiga_intena_vals[IRQ_AMIGA_VERTB] = IF_COPER; - amiga_intena_vals[IRQ_AMIGA_COPPER] = 0; + { + extern unsigned short ami_intena_vals[]; + ami_intena_vals[IRQ_AMIGA_VERTB] = IF_COPER; + ami_intena_vals[IRQ_AMIGA_COPPER] = 0; custom.intena = IF_VERTB; custom.intena = IF_SETCLR | IF_COPER; + } +#else + if (request_irq(IRQ_AMIGA_VERTB, amifb_interrupt, 0, + "fb vertb handler", NULL)) { + err = -EBUSY; + goto amifb_error; + } +#endif amifb_set_var(&var, -1, &fb_info); diff -Nur -X apus_nodiff linuxppc_2_3/include/asm-ppc/bootinfo.h linux-apus/include/asm-ppc/bootinfo.h --- linuxppc_2_3/include/asm-ppc/bootinfo.h Wed Mar 1 21:27:37 2000 +++ linux-apus/include/asm-ppc/bootinfo.h Thu May 11 23:09:01 2000 @@ -13,6 +13,12 @@ #if defined(CONFIG_APUS) && !defined(__BOOTER__) #include <asm-m68k/bootinfo.h> + +#define BI_FIRST 0x1010 /* first record - marker */ +#define BI_CMD_LINE 0x1012 +#define BI_INITRD 0x1014 +#define BI_SYSMAP 0x1015 + #else struct bi_record { diff -Nur -X apus_nodiff linuxppc_2_3/include/asm-ppc/io.h linux-apus/include/asm-ppc/io.h --- linuxppc_2_3/include/asm-ppc/io.h Mon Apr 24 08:30:57 2000 +++ linux-apus/include/asm-ppc/io.h Thu May 25 22:04:49 2000 @@ -25,10 +25,9 @@ #include <asm/mpc8xx.h> #elif defined(CONFIG_8260) #include <asm/mpc8260.h> -#else -#ifdef CONFIG_APUS -#define _IO_BASE 0 -#define _ISA_MEM_BASE 0 +#elif defined(CONFIG_APUS) +#define _IO_BASE 0 +#define _ISA_MEM_BASE 0 #define PCI_DRAM_OFFSET 0 #else extern unsigned long isa_io_base; @@ -37,7 +36,6 @@ #define _IO_BASE isa_io_base #define _ISA_MEM_BASE isa_mem_base #define PCI_DRAM_OFFSET pci_dram_offset -#endif /* CONFIG_APUS */ #endif #define readb(addr) in_8((volatile u8 *)(addr)) @@ -125,10 +123,17 @@ unsigned long flags); extern void *ioremap(unsigned long address, unsigned long size); #define ioremap_nocache(addr, size) ioremap((addr), (size)) +#define ioremap_writethrough(addr, size) \ + __ioremap((addr), (size), _PAGE_WRITETHRU) extern void iounmap(void *addr); extern unsigned long iopa(unsigned long addr); #ifdef CONFIG_APUS extern unsigned long mm_ptov(unsigned long addr) __attribute__ ((const)); +/* Values for nocacheflag and cmode */ +#define IOMAP_FULL_CACHING 0 +#define IOMAP_NOCACHE_SER 1 +#define IOMAP_NOCACHE_NONSER 2 +#define IOMAP_WRITETHROUGH 3 #endif /* diff -Nur -X apus_nodiff linuxppc_2_3/include/asm-ppc/pgtable.h linux-apus/include/asm-ppc/pgtable.h --- linuxppc_2_3/include/asm-ppc/pgtable.h Thu Apr 27 08:32:20 2000 +++ linux-apus/include/asm-ppc/pgtable.h Thu May 25 22:04:49 2000 @@ -301,7 +301,7 @@ #define pte_none(pte) (!pte_val(pte)) #define pte_present(pte) (pte_val(pte) & _PAGE_PRESENT) #define pte_clear(ptep) do { pte_val(*(ptep)) = 0; } while (0) -#define pte_pagenr(x) ((unsigned long)((pte_val(x) >> PAGE_SHIFT))) +#define pte_pagenr(x) ((unsigned long)(((pte_val(x) - __pa(KERNELBASE)) >> PAGE_SHIFT))) #define pmd_none(pmd) (!pmd_val(pmd)) #define pmd_bad(pmd) ((pmd_val(pmd) & ~PAGE_MASK) != 0) @@ -395,7 +395,7 @@ #define mk_pte(page,pgprot) \ ({ \ pte_t pte; \ - pte_val(pte) = ((page - mem_map) << PAGE_SHIFT) | pgprot_val(pgprot); \ + pte_val(pte) = (__pa(page->virtual)) | pgprot_val(pgprot); \ pte; \ }) diff -Nur -X apus_nodiff linuxppc_2_3/mm/page_alloc.c linux-apus/mm/page_alloc.c --- linuxppc_2_3/mm/page_alloc.c Wed May 24 08:36:46 2000 +++ linux-apus/mm/page_alloc.c Thu May 25 21:42:05 2000 @@ -458,7 +458,7 @@ * - clear the memory bitmaps */ void __init free_area_init_core(int nid, pg_data_t *pgdat, struct page **gmap, - unsigned long *zones_size, unsigned long zone_start_paddr, + unsigned long *zones_size, unsigned long zone_start_vaddr, unsigned long *zholes_size) { struct page *p, *lmem_map; @@ -479,7 +479,7 @@ if (zholes_size) for (i = 0; i < MAX_NR_ZONES; i++) realtotalpages -= zholes_size[i]; - + printk("On node %d totalpages: %lu\n", nid, realtotalpages); /* @@ -512,7 +512,7 @@ MAP_ALIGN((unsigned long)lmem_map - PAGE_OFFSET)); *gmap = pgdat->node_mem_map = lmem_map; pgdat->node_size = totalpages; - pgdat->node_start_paddr = zone_start_paddr; + pgdat->node_start_paddr = __pa(zone_start_vaddr); pgdat->node_start_mapnr = (lmem_map - mem_map); /* @@ -560,14 +560,14 @@ zone->zone_wake_kswapd = 0; zone->zone_mem_map = mem_map + offset; zone->zone_start_mapnr = offset; - zone->zone_start_paddr = zone_start_paddr; + zone->zone_start_paddr = __pa(zone_start_vaddr); for (i = 0; i < size; i++) { struct page *page = mem_map + offset + i; page->zone = zone; if (j != ZONE_HIGHMEM) { - page->virtual = (unsigned long)(__va(zone_start_paddr)); - zone_start_paddr += PAGE_SIZE; + page->virtual = zone_start_vaddr; + zone_start_vaddr += PAGE_SIZE; } } @@ -591,7 +591,7 @@ void __init free_area_init(unsigned long *zones_size) { - free_area_init_core(0, NODE_DATA(0), &mem_map, zones_size, 0, 0); + free_area_init_core(0, NODE_DATA(0), &mem_map, zones_size, PAGE_OFFSET, 0); } static int __init setup_mem_frac(char *str) |
From: Michel <dae...@st...> - 2000-05-26 08:13:52
|
Roman Zippel wrote: > Ok, here is a patch for the bitkeeper source, it's quite small, most of > the needed changes are already there and a few things might be missing > from Jes' last patch (like kgdb). Can you commit the code yourself or submit a patch against the kernel.org tree? Michel -- Press every key to continue. ______________________________________________________________________________ Earthling Michel Dänzer (MrCooper) \ CS student and free software enthusiast Debian GNU/Linux (powerpc,i386) user \ member of XFree86, Team *AMIGA*, AUGS |
From: Nicholai B. <nic...@ch...> - 2000-05-26 22:31:03
|
Hello Roman Den 26-Maj-00, skrev Roman Zippel: RZ> Hi, RZ> RZ>> Well, i handled the 2.2.10 tree up to now. I think we will have to wait RZ>> until we have the cvs tree up at sourceforge. will do it today, i RZ>> think, so please send me a patfch or something ... RZ> RZ> Ok, here is a patch for the bitkeeper source, it's quite small, most of RZ> the needed changes are already there and a few things might be missing RZ> from Jes' last patch (like kgdb). RZ> The Ariadne2 driver isn't working yet, but I hadn't enough time to look RZ> into this yesterday and some other things need to be cleaned up... RZ> RZ> bye, Roman RZ> RZ> diff -Nur -X apus_nodiff linuxppc_2_3/Makefile linux-apus/Makefile RZ> --- linuxppc_2_3/Makefile Wed May 24 08:36:35 2000 RZ> +++ linux-apus/Makefile Thu May 25 21:39:32 2000 RZ> @@ -5,7 +5,7 @@ RZ> RZ> KERNELRELEASE=$(VERSION).$(PATCHLEVEL).$(SUBLEVEL)$(EXTRAVERSION) RZ> Excuse me for my ignorance, but where is/should the bootinfo version be set? Wouldn't it be possible to increase the bootinfo major with the boothack patch that you posted some time ago? Also, is the 2.3 tree patched to use the bootinfo fields that I added for 2.2.10 (b/cvision and bppc+ scsi)? As a matter of fact the best thing would be to do this in the kernel but right now we don't know how... I just want to make sure that we don't have to use different bootstraps for 2.2 and 2.3. Friendly, Nicholai |
From: Nicholai B. <nic...@ch...> - 2000-05-27 09:56:53
|
Hello Nicholai Den 27-Maj-00, skrev Nicholai Benalal: NB> Hello Roman NB> NB> I just want to make sure that we don't have to use different bootstraps NB> for 2.2 and 2.3. NB> Just checked this myself and we need to update the 2.3 tree in order to use the new bootstrap. /Nicholai |
From: Michel <dae...@st...> - 2000-05-27 10:02:03
|
Nicholai Benalal wrote: > Just checked this myself and we need to update the 2.3 tree in order to use > the new bootstrap. Can you do it? What bootstrap is needed for the current 2.3? Michel -- There's no place like ~ ______________________________________________________________________________ Earthling Michel Dänzer (MrCooper) \ CS student and free software enthusiast Debian GNU/Linux (powerpc,i386) user \ member of XFree86, Team *AMIGA*, AUGS |
From: Nicholai B. <nic...@ch...> - 2000-05-27 10:48:56
|
Hello Michel Den 27-Maj-00, skrev Michel Dänzer: MD> Nicholai Benalal wrote: MD> MD>> Just checked this myself and we need to update the 2.3 tree in order to MD>> use the new bootstrap. MD> MD> Can you do it? I'll do it when I find some time. Only 4 days left to my exam. MD> MD> What bootstrap is needed for the current 2.3? MD> MD> Something old that uses the old hacky way to communicate powerup_pci_present to the kernel. Probably the last bootstrap from 1999. /Nicholai |
From: Roman Z. <zi...@fh...> - 2000-05-29 08:55:40
|
Hi, > Excuse me for my ignorance, but where is/should the bootinfo version be set? > Wouldn't it be possible to increase the bootinfo major with the boothack > patch that you posted some time ago? Apus doesn't use the bootinfo version (and there isn't any in the kernel). > Also, is the 2.3 tree patched to use the bootinfo fields that I added for 2.2.10 > (b/cvision and bppc+ scsi)? As a matter of fact the best thing would be to do this > in the kernel but right now we don't know how... > > I just want to make sure that we don't have to use different bootstraps for 2.2 and 2.3. You can simply use the latest bootstrap. There are some things missing, but that bootinfo tag is simply ignored. If it's needed check out 2.3 and commit a patch. :-) bye, Roman |