Re: vga diff for testing

2013-03-04 Thread Alexander Polakov
* Mark Kettenis mark.kette...@xs4all.nl [130304 02:10]:
 In order to be able to support a framebuffer console on i386/amd64 I'd
 like to reorder some code such that wsdisaplay(4) attaches to vga(4)
 *after* drm(4).  Since I don't have any hardware with radeondrm(4) I'd
 appreciate it if people with access to such hardware would test the
 diff below.  Just check that your vga text glass console and X still
 work.

Still work.

OpenBSD 5.3-current (kernel) #25: Mon Mar  4 02:34:03 MSK 2013
r...@watashi.plhk.ru:/usr/obj/kernel
cpu0: Genuine Intel(R) CPU T2400 @ 1.83GHz (GenuineIntel 686-class) 1.83 GHz
cpu0: 
FPU,V86,DE,PSE,TSC,MSR,PAE,MCE,CX8,APIC,SEP,MTRR,PGE,MCA,CMOV,CFLUSH,DS,ACPI,MMX,FXSR,SSE,SSE2,SS,HTT,TM,PBE,NXE,SSE3,MWAIT,VMX,EST,TM2,xTPR,PDCM,PERF
real mem  = 3219517440 (3070MB)
avail mem = 3156656128 (3010MB)
mainbus0 at root
bios0 at mainbus0: AT/286+ BIOS, date 03/21/11, BIOS32 rev. 0 @ 0xfd6b0, SMBIOS 
rev. 2.4 @ 0xe0010 (68 entries)
bios0: vendor LENOVO version 79ETE7WW (2.27 ) date 03/21/2011
bios0: LENOVO 2008ZBF
acpi0 at bios0: rev 2
acpi0: sleep states S0 S3 S4 S5
acpi0: tables DSDT FACP SSDT ECDT TCPA APIC MCFG HPET SLIC BOOT SSDT SSDT SSDT 
SSDT
acpi0: wakeup devices LID_(S3) SLPB(S3) LURT(S3) DURT(S3) EXP0(S4) EXP1(S4) 
EXP2(S4) EXP3(S4) PCI1(S4) USB0(S3) USB1(S3) USB2(S3) USB7(S3) HDEF(S4)
acpitimer0 at acpi0: 3579545 Hz, 24 bits
acpiec0 at acpi0
acpimadt0 at acpi0 addr 0xfee0: PC-AT compat
cpu0 at mainbus0: apid 0 (boot processor)
cpu0: apic clock running at 166MHz
cpu1 at mainbus0: apid 1 (application processor)
cpu1: Genuine Intel(R) CPU T2400 @ 1.83GHz (GenuineIntel 686-class) 1.83 GHz
cpu1: 
FPU,V86,DE,PSE,TSC,MSR,PAE,MCE,CX8,APIC,SEP,MTRR,PGE,MCA,CMOV,CFLUSH,DS,ACPI,MMX,FXSR,SSE,SSE2,SS,HTT,TM,PBE,NXE,SSE3,MWAIT,VMX,EST,TM2,xTPR,PDCM,PERF
ioapic0 at mainbus0: apid 1 pa 0xfec0, version 20, 24 pins
ioapic0: misconfigured as apic 2, remapped to apid 1
acpimcfg0 at acpi0 addr 0xf000, bus 0-63
acpihpet0 at acpi0: 14318179 Hz
acpiprt0 at acpi0: bus 0 (PCI0)
acpiprt1 at acpi0: bus 1 (AGP_)
acpiprt2 at acpi0: bus 2 (EXP0)
acpiprt3 at acpi0: bus 3 (EXP1)
acpiprt4 at acpi0: bus 4 (EXP2)
acpiprt5 at acpi0: bus 12 (EXP3)
acpiprt6 at acpi0: bus 21 (PCI1)
acpicpu0 at acpi0: C3, C2, C1, PSS
acpicpu1 at acpi0: C3, C2, C1, PSS
acpipwrres0 at acpi0: PUBS
acpitz0 at acpi0: critical temperature is 127 degC
acpitz1 at acpi0: critical temperature is 99 degC
acpibtn0 at acpi0: LID_
acpibtn1 at acpi0: SLPB
acpibat0 at acpi0: BAT0 model COMPATIBLE serial 29687 type LION oem PSPSP
acpibat1 at acpi0: BAT1 not present
acpiac0 at acpi0: AC unit online
acpithinkpad0 at acpi0
acpidock0 at acpi0: GDCK not docked (0)
bios0: ROM list: 0xc/0xfe00 0xd/0x1000 0xd1000/0x1000 0xdc000/0x4000! 
0xe/0x1!
cpu0: Enhanced SpeedStep 1829 MHz: speeds: 1833, 1333, 1000 MHz
pci0 at mainbus0 bus 0: configuration mode 1 (bios)
pchb0 at pci0 dev 0 function 0 Intel 82945GM Host rev 0x03
ppb0 at pci0 dev 1 function 0 Intel 82945GM PCIE rev 0x03: apic 1 int 16
pci1 at ppb0 bus 1
vga1 at pci1 dev 0 function 0 ATI Radeon Mobility X1400 rev 0x00
radeondrm0 at vga1: apic 1 int 16
drm0 at radeondrm0
wsdisplay0 at vga1 mux 1: console (80x25, vt100 emulation)
wsdisplay0: screen 1-5 added (80x25, vt100 emulation)
azalia0 at pci0 dev 27 function 0 Intel 82801GB HD Audio rev 0x02: msi
azalia0: codecs: Analog Devices AD1981HD, 0x/0x, using Analog Devices 
AD1981HD
audio0 at azalia0
ppb1 at pci0 dev 28 function 0 Intel 82801GB PCIE rev 0x02: apic 1 int 20
pci2 at ppb1 bus 2
em0 at pci2 dev 0 function 0 Intel PRO/1000MT (82573L) rev 0x00: msi, address 
00:16:41:e0:54:df
ppb2 at pci0 dev 28 function 1 Intel 82801GB PCIE rev 0x02: apic 1 int 21
pci3 at ppb2 bus 3
wpi0 at pci3 dev 0 function 0 Intel PRO/Wireless 3945ABG rev 0x02: msi, MoW2, 
address 00:19:d2:03:ed:9d
ppb3 at pci0 dev 28 function 2 Intel 82801GB PCIE rev 0x02: apic 1 int 22
pci4 at ppb3 bus 4
ppb4 at pci0 dev 28 function 3 Intel 82801GB PCIE rev 0x02: apic 1 int 23
pci5 at ppb4 bus 12
uhci0 at pci0 dev 29 function 0 Intel 82801GB USB rev 0x02: apic 1 int 16
uhci1 at pci0 dev 29 function 1 Intel 82801GB USB rev 0x02: apic 1 int 17
uhci2 at pci0 dev 29 function 2 Intel 82801GB USB rev 0x02: apic 1 int 18
uhci3 at pci0 dev 29 function 3 Intel 82801GB USB rev 0x02: apic 1 int 19
ehci0 at pci0 dev 29 function 7 Intel 82801GB USB rev 0x02: apic 1 int 19
usb0 at ehci0: USB revision 2.0
uhub0 at usb0 Intel EHCI root hub rev 2.00/1.00 addr 1
ppb5 at pci0 dev 30 function 0 Intel 82801BAM Hub-to-PCI rev 0xe2
pci6 at ppb5 bus 21
cbb0 at pci6 dev 0 function 0 TI PCI1510 CardBus rev 0x00: apic 1 int 16
cardslot0 at cbb0 slot 0 flags 0
cardbus0 at cardslot0: bus 22 device 0 cacheline 0x8, lattimer 0xb0
pcmcia0 at cardslot0
ichpcib0 at pci0 dev 31 function 0 Intel 82801GBM LPC rev 0x02: PM disabled
pciide0 at pci0 dev 31 function 1 Intel 82801GB IDE rev 0x02: DMA, channel 0 
configured to compatibility, channel 1 configured to compatibility
atapiscsi0 at 

Re: vga diff for testing

2013-03-04 Thread Mark Kettenis
 Date: Sun, 3 Mar 2013 22:39:46 +0100 (CET)
 From: Mark Kettenis mark.kette...@xs4all.nl
 
 In order to be able to support a framebuffer console on i386/amd64 I'd
 like to reorder some code such that wsdisaplay(4) attaches to vga(4)
 *after* drm(4).  Since I don't have any hardware with radeondrm(4) I'd
 appreciate it if people with access to such hardware would test the
 diff below.  Just check that your vga text glass console and X still
 work.

Thanks folks.  I think enough people have tested this.  Which means
I'm looking for ok's now.

 Index: vga_pci.c
 ===
 RCS file: /cvs/src/sys/dev/pci/vga_pci.c,v
 retrieving revision 1.69
 diff -u -p -r1.69 vga_pci.c
 --- vga_pci.c 8 Oct 2012 21:47:50 -   1.69
 +++ vga_pci.c 3 Mar 2013 21:34:59 -
 @@ -249,8 +249,6 @@ vga_pci_attach(struct device *parent, st
   }
  #endif
   printf(\n);
 - sc-sc_vc = vga_common_attach(self, pa-pa_iot, pa-pa_memt,
 - WSDISPLAY_TYPE_PCIVGA);
  
   vga_pci_bar_init(sc, pa);
  
 @@ -294,6 +292,9 @@ vga_pci_attach(struct device *parent, st
  #if NDRM  0
   config_found_sm(self, aux, NULL, drmsubmatch);
  #endif
 +
 + sc-sc_vc = vga_common_attach(self, pa-pa_iot, pa-pa_memt,
 + WSDISPLAY_TYPE_PCIVGA);
  }
  
  int
 
 



vga diff for testing

2013-03-03 Thread Mark Kettenis
In order to be able to support a framebuffer console on i386/amd64 I'd
like to reorder some code such that wsdisaplay(4) attaches to vga(4)
*after* drm(4).  Since I don't have any hardware with radeondrm(4) I'd
appreciate it if people with access to such hardware would test the
diff below.  Just check that your vga text glass console and X still
work.

Thanks,

Mark


Index: vga_pci.c
===
RCS file: /cvs/src/sys/dev/pci/vga_pci.c,v
retrieving revision 1.69
diff -u -p -r1.69 vga_pci.c
--- vga_pci.c   8 Oct 2012 21:47:50 -   1.69
+++ vga_pci.c   3 Mar 2013 21:34:59 -
@@ -249,8 +249,6 @@ vga_pci_attach(struct device *parent, st
}
 #endif
printf(\n);
-   sc-sc_vc = vga_common_attach(self, pa-pa_iot, pa-pa_memt,
-   WSDISPLAY_TYPE_PCIVGA);
 
vga_pci_bar_init(sc, pa);
 
@@ -294,6 +292,9 @@ vga_pci_attach(struct device *parent, st
 #if NDRM  0
config_found_sm(self, aux, NULL, drmsubmatch);
 #endif
+
+   sc-sc_vc = vga_common_attach(self, pa-pa_iot, pa-pa_memt,
+   WSDISPLAY_TYPE_PCIVGA);
 }
 
 int



Re: vga diff for testing

2013-03-03 Thread Ryan Freeman
On Sun, Mar 03, 2013 at 10:39:46PM +0100, Mark Kettenis wrote:
 In order to be able to support a framebuffer console on i386/amd64 I'd
 like to reorder some code such that wsdisaplay(4) attaches to vga(4)
 *after* drm(4).  Since I don't have any hardware with radeondrm(4) I'd
 appreciate it if people with access to such hardware would test the
 diff below.  Just check that your vga text glass console and X still
 work.
 

Hey Mark,

Seems all good here on an i386 with radeondrm(4):

vga1 at pci1 dev 0 function 0 ATI Radeon Mobility X1400 rev 0x00
radeondrm0 at vga1: apic 1 int 16
drm0 at radeondrm0
wsdisplay0 at vga1 mux 1: console (80x25, vt100 emulation)
wsdisplay0: screen 1-5 added (80x25, vt100 emulation)

Both text console and X seem as fine as ever, killed X a couple
times and restarted, plus switched back and forth between X and
console a few times to make sure everything seemed ok.

Cheers,

-ryan

 Thanks,
 
 Mark
 
 
 Index: vga_pci.c
 ===
 RCS file: /cvs/src/sys/dev/pci/vga_pci.c,v
 retrieving revision 1.69
 diff -u -p -r1.69 vga_pci.c
 --- vga_pci.c 8 Oct 2012 21:47:50 -   1.69
 +++ vga_pci.c 3 Mar 2013 21:34:59 -
 @@ -249,8 +249,6 @@ vga_pci_attach(struct device *parent, st
   }
  #endif
   printf(\n);
 - sc-sc_vc = vga_common_attach(self, pa-pa_iot, pa-pa_memt,
 - WSDISPLAY_TYPE_PCIVGA);
  
   vga_pci_bar_init(sc, pa);
  
 @@ -294,6 +292,9 @@ vga_pci_attach(struct device *parent, st
  #if NDRM  0
   config_found_sm(self, aux, NULL, drmsubmatch);
  #endif
 +
 + sc-sc_vc = vga_common_attach(self, pa-pa_iot, pa-pa_memt,
 + WSDISPLAY_TYPE_PCIVGA);
  }
  
  int
 



Re: vga diff for testing

2013-03-03 Thread Juan Francisco Cantero Hurtado
On Sun, Mar 03, 2013 at 10:39:46PM +0100, Mark Kettenis wrote:
 
 In order to be able to support a framebuffer console on i386/amd64 I'd
 like to reorder some code such that wsdisaplay(4) attaches to vga(4)
 *after* drm(4).  Since I don't have any hardware with radeondrm(4) I'd
 appreciate it if people with access to such hardware would test the
 diff below.  Just check that your vga text glass console and X still
 work.

All works OK. AMD64 and ATI Radeon HD 4350 PCI.


OpenBSD 5.3 (GENERIC.MP) #21: Wed Feb 27 22:58:43 CET 2013
r...@sobremesa.juanfra.info:/usr/src/sys/arch/amd64/compile/GENERIC.MP
real mem = 8566591488 (8169MB)
avail mem = 8316051456 (7930MB)
mainbus0 at root
bios0 at mainbus0: SMBIOS rev. 2.6 @ 0xeb0d0 (65 entries)
bios0: vendor American Megatrends Inc. version 0901 date 09/30/2012
bios0: ASUSTeK COMPUTER INC. F1A55
acpi0 at bios0: rev 2
acpi0: sleep states S0 S3 S4 S5
acpi0: tables DSDT FACP APIC MCFG HPET SSDT SSDT
acpi0: wakeup devices SBAZ(S4) PS2K(S4) PS2M(S4) UAR1(S4) UHC1(S4) UHC2(S4) 
USB3(S4) UHC4(S4) USB5(S4) UHC6(S4) UHC7(S4) PE20(S4) PE21(S4) RLAN(S4) 
PE22(S4) PE23(S4) PCE2(S4) PCE4(S4) P0PC(S4)
acpitimer0 at acpi0: 3579545 Hz, 32 bits
acpimadt0 at acpi0 addr 0xfee0: PC-AT compat
cpu0 at mainbus0: apid 0 (boot processor)
cpu0: AMD A4-3400 APU with Radeon(tm) HD Graphics, 2700.24 MHz
cpu0: 
FPU,VME,DE,PSE,TSC,MSR,PAE,MCE,CX8,APIC,SEP,MTRR,PGE,MCA,CMOV,PAT,PSE36,CFLUSH,MMX,FXSR,SSE,SSE2,HTT,SSE3,MWAIT,CX16,POPCNT,NXE,MMXX,FFXSR,LONG,3DNOW2,3DNOW,LAHF,CMPLEG,SVM,EAPICSP,AMCR8,ABM,SSE4A,MASSE,3DNOWP,OSVW,IBS,SKINIT,ITSC
cpu0: 64KB 64b/line 2-way I-cache, 64KB 64b/line 2-way D-cache, 512KB 64b/line 
16-way L2 cache
cpu0: ITLB 32 4KB entries fully associative, 16 4MB entries fully associative
cpu0: DTLB 48 4KB entries fully associative, 48 4MB entries fully associative
cpu0: AMD erratum 721 detected and fixed
cpu0: smt 0, core 0, package 0
cpu0: apic clock running at 199MHz
cpu1 at mainbus0: apid 1 (application processor)
cpu1: AMD A4-3400 APU with Radeon(tm) HD Graphics, 2699.93 MHz
cpu1: 
FPU,VME,DE,PSE,TSC,MSR,PAE,MCE,CX8,APIC,SEP,MTRR,PGE,MCA,CMOV,PAT,PSE36,CFLUSH,MMX,FXSR,SSE,SSE2,HTT,SSE3,MWAIT,CX16,POPCNT,NXE,MMXX,FFXSR,LONG,3DNOW2,3DNOW,LAHF,CMPLEG,SVM,EAPICSP,AMCR8,ABM,SSE4A,MASSE,3DNOWP,OSVW,IBS,SKINIT,ITSC
cpu1: 64KB 64b/line 2-way I-cache, 64KB 64b/line 2-way D-cache, 512KB 64b/line 
16-way L2 cache
cpu1: ITLB 32 4KB entries fully associative, 16 4MB entries fully associative
cpu1: DTLB 48 4KB entries fully associative, 48 4MB entries fully associative
cpu1: AMD erratum 721 detected and fixed
cpu1: smt 0, core 1, package 0
ioapic0 at mainbus0: apid 3 pa 0xfec0, version 21, 24 pins
acpimcfg0 at acpi0 addr 0xe000, bus 0-255
acpihpet0 at acpi0: 14318180 Hz
acpiprt0 at acpi0: bus 0 (PCI0)
acpiprt1 at acpi0: bus 3 (PE20)
acpiprt2 at acpi0: bus 4 (PE21)
acpiprt3 at acpi0: bus -1 (PE22)
acpiprt4 at acpi0: bus 5 (PE23)
acpiprt5 at acpi0: bus -1 (BR13)
acpiprt6 at acpi0: bus -1 (PCE2)
acpiprt7 at acpi0: bus -1 (PCE4)
acpiprt8 at acpi0: bus 1 (P0PC)
acpicpu0 at acpi0: C2, PSS
acpicpu1 at acpi0: C2, PSS
acpibtn0 at acpi0: PWRB
cpu0: 2700 MHz: speeds: 2700 2400 2200 2000 1800 1400 1100 800 MHz
pci0 at mainbus0 bus 0
pchb0 at pci0 dev 0 function 0 AMD AMD64 12h Host rev 0x00
ahci0 at pci0 dev 17 function 0 AMD Hudson-2 SATA rev 0x40: msi, AHCI 1.3
scsibus0 at ahci0: 32 targets
sd0 at scsibus0 targ 0 lun 0: ATA, ST3250310AS, 3.AA SCSI3 0/direct fixed 
t10.ATA_ST3250310AS_5RY0ZTKS
sd0: 238475MB, 512 bytes/sector, 488397168 sectors
sd1 at scsibus0 targ 1 lun 0: ATA, ST3500418AS, CC34 SCSI3 0/direct fixed 
naa.5000c500142c3ef3
sd1: 476940MB, 512 bytes/sector, 976773168 sectors
sd2 at scsibus0 targ 2 lun 0: ATA, ST1000DM003-1CH1, CC44 SCSI3 0/direct 
fixed naa.5000c5004fab5f8b
sd2: 953869MB, 512 bytes/sector, 1953525168 sectors
ohci0 at pci0 dev 18 function 0 AMD Hudson-2 USB rev 0x11: apic 3 int 18, 
version 1.0, legacy support
ehci0 at pci0 dev 18 function 2 AMD Hudson-2 USB2 rev 0x11: apic 3 int 17
usb0 at ehci0: USB revision 2.0
uhub0 at usb0 AMD EHCI root hub rev 2.00/1.00 addr 1
ohci1 at pci0 dev 19 function 0 AMD Hudson-2 USB rev 0x11: apic 3 int 18, 
version 1.0, legacy support
ehci1 at pci0 dev 19 function 2 AMD Hudson-2 USB2 rev 0x11: apic 3 int 17
usb1 at ehci1: USB revision 2.0
uhub1 at usb1 AMD EHCI root hub rev 2.00/1.00 addr 1
piixpm0 at pci0 dev 20 function 0 AMD Hudson-2 SMBus rev 0x13: polling
iic0 at piixpm0
iic0: addr 0x20 01=0d 02=17 03=26 04=8c 05=8c 06=8c 07=8c 08=00 09=00 0a=10 
0b=10 0c=10 0d=10 0e=07 0f=8b 10=00 11=00 12=00 13=00 14=00 15=0f 16=17 17=20 
18=e0 19=fb 1a=a8 1b=a3 1c=ac 1d=80 1e=04 1f=03 20=09 21=09 22=09 23=09 24=37 
3e=a3 words 00=ff0d 01=0d17 02=1726 03=268c 04=8c8c 05=8c8c 06=8c8c 07=8c00
spdmem0 at iic0 addr 0x50: 4GB DDR3 SDRAM PC3-10600
spdmem1 at iic0 addr 0x51: 4GB DDR3 SDRAM PC3-10600
azalia0 at pci0 dev 20 function 2 AMD Hudson-2 HD Audio rev 0x01: apic 3 int 
16
azalia0: codecs: Realtek/0x0887
audio0 at azalia0
pcib0