Skip to contentSkip to conversation

visws support for 2.5.59

PATCH In review Andrey Panin 2 participants 3 messages Jan 27, 2003 – Jan 30, 2003 1 message not in the archive

Subsystems (3)
lore
Share & tools
lore
#0 lore raw

PATCH 1/1 visws support for 2.5.59

Hi all,

attached patch adds visws support into 2.5.59 kernel.

All who owns visws with PCI cards installed, please test this patch.

Best regards.

Signature · 2 lines
Andrey Panin		| Embedded systems software developer
[email protected]	| PGP key: wwwkeys.pgp.net
#1 lore raw

Hi Andrey,

here some comments, I hope you'll submit visw support to Linus soon (and I'll find one somewhere.. :)

@@ -380,7 +378,8 @@
Otherwise, say N.

config SMP
- bool "Symmetric multi-processing support"
+ bool "Symmetric multi-processing support" if !X86_VISWS
+ default y if X86_VISWS

I don't think there's a reason to not allow UP kernels on visws.

arch/i386/Makefile +1 -1
diff -urN -X /usr/share/dontdiff linux-2.5.59.vanilla/arch/i386/Makefile linux-2.5.59/arch/i386/Makefile
@@ -18,7 +18,7 @@
 
 LDFLAGS		:= -m elf_i386
 OBJCOPYFLAGS	:= -O binary -R .note -R .comment -S
-LDFLAGS_vmlinux := -e stext
+LDFLAGS_vmlinux :=
 LDFLAGS_BLOB	:= --format binary --oformat elf32-i386
 
 CFLAGS += -pipe

IMHO the stext changes should be moved into a single patch in preparation of the visw support.

arch/i386/kernel/i8259.c +1 -0
@@ -22,6 +22,7 @@
 #include <asm/desc.h>
 #include <asm/apic.h>
 #include <asm/arch_hooks.h>
+#include <asm/i8259.h>
 

Dito for the i8259 and generic apic code changes (!?)

arch/i386/kernel/trampoline.S +2 -2
@@ -46,8 +46,8 @@
 	movl	$0xA5A5A5A5, trampoline_data - r_base
 				# write marker for master knows we're running
 
-	lidt	idt_48 - r_base	# load idt with 0, 0
-	lgdt	gdt_48 - r_base	# load gdt with whatever is appropriate
+	lidt	boot_idt - r_base	# load idt with 0, 0
+	lgdt	boot_gdt - r_base	# load gdt with whatever is appropriate
 

Again, GDT changes should be a separate preparation patch.

@@ -11,8 +13,15 @@
ifdef CONFIG_ACPI_PCI
obj-y += acpi.o
endif
-obj-y += legacy.o

+ifndef CONFIG_X86_VISWS
+obj-y += legacy.o
+endif

endif # CONFIG_X86_NUMAQ
-obj-y += irq.o common.o
+
+ifndef CONFIG_X86_VISWS
+obj-y += irq.o
+endif

What about grouping the two ifndefs?

drivers/net/eepro100.c +4 -0
diff -urN -X /usr/share/dontdiff linux-2.5.59.vanilla/drivers/net/eepro100.c linux-2.5.59/drivers/net/eepro100.c
@@ -306,6 +306,10 @@
 	outw(val, port);
 }
 
+#ifdef CONFIG_X86_VISWS
+#define USE_IO
+#endif
+
 

Separate patch probably. I think you should just submit this one to jgarzik ASAP, independant of the other bits. A small cleanup suggestion would be turning USE_IO into a config option that is implied by CONFIG_X86_VISWS...

drivers/video/Kconfig +1 -1
diff -urN -X /usr/share/dontdiff linux-2.5.59.vanilla/drivers/video/Kconfig linux-2.5.59/drivers/video/Kconfig
@@ -363,7 +363,7 @@
 
 config FB_SGIVW
 	tristate "SGI Visual Workstation framebuffer support"
-	depends on FB && VISWS
+	depends on FB && X86_VISWS
 

Oops, I missed this instance :)

drivers/video/sgivwfb.c +0 -0
diff -urN -X /usr/share/dontdiff linux-2.5.59.vanilla/drivers/video/sgivwfb.c linux-2.5.59/drivers/video/sgivwfb.c

The fb driver should be a separate patch again. As it doesn't currently work I'd suggest submitting it to James Simmons ASAP.

include/asm-i386/sgi-cobalt.h +0 -0
diff -urN -X /usr/share/dontdiff linux-2.5.59.vanilla/include/asm-i386/sgi-cobalt.h linux-2.5.59/include/asm-i386/sgi-cobalt.h

I think this should be include/asm-i386/mach-visws/cobalt.h instead.

include/asm-i386/sgi-lithium.h +0 -0
diff -urN -X /usr/share/dontdiff linux-2.5.59.vanilla/include/asm-i386/sgi-lithium.h linux-2.5.59/include/asm-i386/sgi-lithium.h

Dito (include/asm-i386/mach-visws/lithium.h)

include/asm-i386/sgi-piix.h +0 -0
diff -urN -X /usr/share/dontdiff linux-2.5.59.vanilla/include/asm-i386/sgi-piix.h linux-2.5.59/include/asm-i386/sgi-piix.h

What's really VisW-specific here (except that Linux doesn't poke the PIIX that much on normal PeeCees)? IMHO it should be either include/asm-i386/piix.h or include/asm-i386/mach-visws/piix.h depending on that.

include/asm-i386/system.h +5 -0
diff -urN -X /usr/share/dontdiff linux-2.5.59.vanilla/include/asm-i386/system.h linux-2.5.59/include/asm-i386/system.h
@@ -410,4 +410,10 @@
 #define BROKEN_ACPI_Sx		0x0001
 #define BROKEN_INIT_AFTER_S1	0x0002
 
+#ifdef CONFIG_X86_VISWS
+#define x86_visws	1
+#else
+#define x86_visws	0
+#endif
 

Do we really need more than CONFIG_X86_VISWS and the mach-$foo abstraction?

sound/oss/vwsnd.c +0 -0
diff -urN -X /usr/share/dontdiff linux-2.5.59.vanilla/sound/oss/vwsnd.c linux-2.5.59/sound/oss/vwsnd.c
@@ -144,13 +144,11 @@
 

Again, I think the driver update should be submitted separately and ASAP.

A message that is not in the archive (sent off-list or not yet received): 20030130112650.GA497@pazke

#3 lore raw
Quoted 2 lines · Andrey Panin

Probably agreed. But I didn't even try to compile UP kernels for visws. Added into todo list.

Then either test it or add a comment explaining why it's disallowed

Quoted 1 line

The visws support is totally borken now, so why submit this ASAP ?

the visw fb driver can't work anyway, so there's no harm if you get this driver update into James' tree (an he'll submit it to Linus with the other fb stuff) soon, but your patch will get a lot smaller and easier to integrate.

Quoted 3 lines

This varibable-like macro replaces two #ifndef's in smp.c and smpboot.c I'm not sure are the really necessary and I can't test it because my visws has one cpu only (and it's impossible to buy VRM and slot-1 P3 in Russia).

I can try to get one or two for you in a second hand store here in Germany for you. sending it to russia will probably be more important than the actual price for them :)