9front - general discussion about 9front
 help / color / mirror / Atom feed
* [9front] MB Pro early-2011 support status
@ 2021-04-19  5:36 unobe
  2021-04-19 10:40 ` [9front] " Anthony Martin
                   ` (2 more replies)
  0 siblings, 3 replies; 9+ messages in thread
From: unobe @ 2021-04-19  5:36 UTC (permalink / raw)
  To: 9front

I have written a description about what works and does not work on an
early-2011 macbook pro.  The post is @
https://blog.fallglow.com/2021/04-13/blog

I have a few patches that have made it more reasonable to use 9front
on a macbook from the get-go (most notably the new keymap and pc64mb
conf file in the pc64 kernel directory) and have setup up a new branch
to keep track of the changes.  It's not ready for merging to default
but my hope is to get multi-touch working along with some of the other
hardware (audio, camera, monitor blanking).  The branch is now hosted
at https://fallglow.com/p9/mb : my plan is to track default and merge
default into this branch every so often.

One of my next steps that I'd like to do is to try to resolve is the
lack of monitor blanking.  The current status of Sandy Bridge mentions
it being unfinished (changeset 4713:3e7542933175 ).  There's code in
the igfx for sandy bridge to blank, but it's not working for me when I
set 'echo hwblank on >/dev/vgactl' and do 'echo blank >/dev/mousectl'.
So I figure there's something that isn't implemented yet.  This is a
new area of programming for me so I figure looking at the 9front code,
the corresponding drivers for OpenBSD and Linux, and the programmer's
manuals is what I should do.  Cinap--since you committed changeset
4713, do you recall anything I should be looking at for this?  (Or
anyone else who is still reading this long, drawn-out message?) I am
currently wading through the 2011 Intel Core Processor Family docs
found at
https://01.org/linuxgraphics/documentation/hardware-specification-prms


^ permalink raw reply	[flat|nested] 9+ messages in thread

* [9front] Re: MB Pro early-2011 support status
  2021-04-19  5:36 [9front] MB Pro early-2011 support status unobe
@ 2021-04-19 10:40 ` Anthony Martin
  2021-04-19 16:14   ` unobe
  2021-04-19 19:00 ` [9front] " Nick Owens
  2021-04-21 15:01 ` cinap_lenrek
  2 siblings, 1 reply; 9+ messages in thread
From: Anthony Martin @ 2021-04-19 10:40 UTC (permalink / raw)
  To: 9front

What value are you using for $monitor?

It would help to have your sysinfo(1)
output, specifically the vga sections.

Cheers,
  Anthony

^ permalink raw reply	[flat|nested] 9+ messages in thread

* Re: [9front] Re: MB Pro early-2011 support status
  2021-04-19 10:40 ` [9front] " Anthony Martin
@ 2021-04-19 16:14   ` unobe
  0 siblings, 0 replies; 9+ messages in thread
From: unobe @ 2021-04-19 16:14 UTC (permalink / raw)
  To: 9front

Quoth Anthony Martin <ality@pbrane.org>:
> What value are you using for $monitor?

vga

> 
> It would help to have your sysinfo(1)
> output, specifically the vga sections.

I had posted my kmesg already with the blog post, but just added the
sysinfo output as well.  I've added it here inline:

% cd '#ec'; for(i in *){echo $i '=' `{cat $i}}
*acpi = 0x8ad8e014
*bootscreen = 1280x800x32 x8r8g8b8 0x90000000
*e820 = 1 0000000000000000 0000000000008000 1 0000000000008000 000000000000c000 1 000000000000c000 000000000008e000 2 000000000008e000 0000000000090000 1 0000000000090000 00000000000a0000 1 0000000000100000 0000000020000000 2 0000000020000000 0000000020200000 1 0000000020200000 0000000040000000 2 0000000040000000 0000000040200000 1 0000000040200000 00000000859e6000 1 00000000859e6000 0000000087e66000 1 0000000087e66000 0000000087e92000 1 0000000087e92000 0000000087ea9000 1 0000000087ea9000 0000000087ec0000 1 0000000087ec0000 0000000087ed7000 1 0000000087ed7000 0000000087eeb000 1 0000000087eeb000 0000000087efa000 1 0000000087efa000 0000000087efb000 1 0000000087efb000 0000000087efe000 1 0000000087efe000 0000000087f00000 1 0000000087f00000 0000000087f01000 1 0000000087f01000 0000000087f04000 1 0000000087f04000 0000000087f05000 1 0000000087f05000 0000000087f24000 1 0000000087f24000 0000000087f25000 1 0000000087f25000 0000000087f27000 1 0000000087f27000 0000000087f2a000 1 0000000087f2a000 0000000087f4b000 1 0000000087f4b000 0000000087ffa000 1 0000000087ffa000 0000000087ffe000 1 0000000087ffe000 0000000088001000 1 0000000088001000 0000000088002000 1 0000000088002000 0000000088036000 1 0000000088036000 000000008803a000 1 000000008803a000 00000000882e0000 1 00000000882e0000 00000000882e5000 1 00000000882e5000 00000000891ff000 1 00000000891ff000 0000000089251000 1 0000000089251000 00000000892f6000 1 00000000892f6000 00000000892fb000 1 00000000892fb000 00000000892fe000 1 00000000892fe000 0000000089417000 1 0000000089417000 000000008941b000 1 000000008941b000 0000000089421000 1 0000000089421000 000000008942c000 1 000000008942c000 0000000089430000 1 0000000089430000 0000000089436000 1 0000000089436000 0000000089437000 1 0000000089437000 0000000089438000 1 0000000089438000 0000000089441000 1 0000000089441000 0000000089442000 1 0000000089442000 0000000089449000 1 0000000089449000 0000000089459000 1 0000000089459000 00000000894a4000 1 00000000894a4000 00000000894ae000 1 00000000894ae000 00000000894b1000 1 00000000894b1000 00000000894b2000 1 00000000894b2000 00000000894b4000 1 00000000894b4000 00000000894b7000 1 00000000894b7000 00000000894bb000 1 00000000894bb000 00000000894c1000 1 00000000894c1000 00000000894dc000 1 00000000894dc000 00000000894ec000 1 00000000894ec000 00000000894fe000 1 00000000894fe000 00000000894ff000 1 00000000894ff000 0000000089506000 1 0000000089506000 0000000089509000 1 0000000089509000 000000008950d000 1 000000008950d000 000000008950e000 1 000000008950e000 0000000089514000 1 0000000089514000 0000000089516000 1 0000000089516000 000000008951e000 1 000000008951e000 0000000089520000 1 0000000089520000 0000000089529000 1 0000000089529000 000000008952a000 1 000000008952a000 000000008952e000 1 000000008952e000 000000008952f000 1 000000008952f000 0000000089530000 1 0000000089530000 0000000089532000 1 0000000089532000 0000000089536000 1 0000000089536000 0000000089537000 1 0000000089537000 000000008953f000 1 000000008953f000 0000000089542000 1 0000000089542000 0000000089553000 1 0000000089553000 0000000089554000 1 0000000089554000 0000000089558000 1 0000000089558000 000000008955f000 1 000000008955f000 0000000089561000 1 0000000089561000 0000000089563000 1 0000000089563000 0000000089570000 1 0000000089570000 0000000089573000 1 0000000089573000 0000000089577000 1 0000000089577000 000000008957a000 1 000000008957a000 0000000089580000 1 0000000089580000 0000000089581000 1 0000000089581000 0000000089585000 1 0000000089585000 0000000089586000 1 0000000089586000 00000000895ab000 1 00000000895ab000 00000000895ac000 1 00000000895ac000 00000000895b0000 1 00000000895b0000 00000000895b4000 1 00000000895b4000 00000000895b6000 1 00000000895b6000 00000000895b7000 1 00000000895b7000 00000000895c0000 1 00000000895c0000 00000000895c1000 1 00000000895c1000 00000000895c5000 1 00000000895c5000 00000000895c9000 1 00000000895c9000 00000000895cf000 1 00000000895cf000 00000000895d0000 1 00000000895d0000 00000000895d3000 1 00000000895d3000 00000000895d5000 1 00000000895d5000 00000000895d6000 1 00000000895d6000 00000000895d8000 1 00000000895d8000 00000000895d9000 1 00000000895d9000 00000000895dc000 1 00000000895dc000 00000000895dd000 1 00000000895dd000 00000000895df000 1 00000000895df000 00000000895ef000 1 00000000895ef000 00000000895f1000 1 00000000895f1000 00000000895f2000 1 00000000895f2000 00000000895f3000 1 00000000895f3000 00000000895f9000 1 00000000895f9000 00000000895fb000 1 00000000895fb000 00000000895fc000 1 00000000895fc000 00000000895fd000 1 00000000895fd000 00000000895ff000 1 00000000895ff000 0000000089603000 1 0000000089603000 0000000089605000 1 0000000089605000 000000008961b000 1 000000008961b000 0000000089628000 1 0000000089628000 0000000089681000 1 0000000089681000 00000000896a0000 1 00000000896a0000 00000000896a8000 1 00000000896a8000 00000000896aa000 1 00000000896aa000 00000000896c5000 1 00000000896c5000 00000000896c9000 1 00000000896c9000 00000000896cc000 1 00000000896cc000 00000000896cd000 1 00000000896cd000 00000000896cf000 1 00000000896cf000 00000000896d1000 1 00000000896d1000 00000000896d2000 1 00000000896d2000 00000000896d5000 1 00000000896d5000 00000000896db000 1 00000000896db000 00000000896dc000 1 00000000896dc000 00000000896dd000 1 00000000896dd000 00000000896f6000 1 00000000896f6000 00000000896f8000 1 00000000896f8000 00000000896f9000 1 00000000896f9000 00000000896fc000 1 00000000896fc000 00000000896fe000 1 00000000896fe000 0000000089b21000 1 0000000089b21000 0000000089b2a000 1 0000000089b2a000 0000000089b2b000 1 0000000089b2b000 0000000089b33000 1 0000000089b33000 0000000089bd6000 1 0000000089bd6000 0000000089bdb000 1 0000000089bdb000 0000000089bdc000 1 0000000089bdc000 0000000089bdd000 1 0000000089bdd000 0000000089bde000 1 0000000089bde000 0000000089bdf000 1 0000000089bdf000 0000000089be0000 1 0000000089be0000 0000000089be1000 1 0000000089be1000 0000000089bf3000 1 0000000089bf3000 0000000089bf4000 1 0000000089bf4000 0000000089bf6000 1 0000000089bf6000 0000000089bf7000 1 0000000089bf7000 0000000089c74000 1 0000000089c74000 0000000089c75000 1 0000000089c75000 000000008ad0f000 1 000000008ad0f000 000000008ad34000 4 000000008ad34000 000000008ad5f000 1 000000008ad5f000 000000008ad70000 3 000000008ad70000 000000008ad8f000 1 000000008ad8f000 000000008ae54000 1 000000008ae54000 000000008ae8f000 1 000000008ae8f000 000000008aed7000 1 000000008aed7000 000000008aeff000 1 000000008aeff000 000000008afa3000 2 000000008afa3000 000000008afff000 1 000000008afff000 000000008b000000 1 0000000100000000 000000016fe00000 2 00000000000a0000 00000000000c0000 2 000000008b000000 000000008fa00000 2 00000000e00f8000 00000000e00f9000 2 00000000fed1c000 00000000fed20000 2 00000000ffed8000 00000000fff00000
bootfile = 9pc64mb
kbmap = us-mb-eject
monitor = vga
service = cpu

% cat '#'P/archctl
cpu P6 2296 pge
pge on
coherence mfence
cmpswap cmpswap486
arch ACPI
cache 0x0000000000000000          655360 wb
cache 0x00000000000a0000          131072 uc
cache 0x00000000000c0000          131072 wp
cache 0x00000000000e0000          131072 uc
cache 0x0000000000100000      2339373056 wb
cache 0x000000008b800000        75497472 uc
cache 0x0000000090000000        67108864 wc
cache 0x0000000094000000      1811939328 uc
cache 0x0000000100000000     64424509440 wb

% cat '#'P/irqalloc
          1          -1 debugexc
          2          -1 nmi
          3          -1 debugpt
          7          -1 mathemu
          8          -1 doublefault
          9          -1 mathover
         14          -1 faultamd64
         15          -1 unexpected
         16          -1 matherror
         19          -1 simderror
         50          18 clock
         51          19 lapicerror
         63          31 lapicspurious
         65          -1 hda
         73          -1 uhci
         81          -1 uhci
         81          -1 uhci
         89          -1 uhci
         89          -1 uhci
         97          -1 uhci
        105          -1 ehci
        113          -1 ehci
        121          -1 sdE (ahci)
        129          -1 mmc

% cat '#'P/ioalloc
      20       21 i8259.0     
      62       62 ec.data     
      66       66 ec.sc       
      70       71 rtc/nvr     
      a0       a1 i8259.1     
     2b0      2df vga         
     3c0      3da vga         
     cf8      cfb pcicfg.addr 
     cfc      cff pcicfg.data 
     fff      fff dummy       
    2000     203f PCI.0.2.0   
    2060     207f PCI.0.31.2  
    2080     209f usbuhci     
    20a0     20bf usbuhci     
    20c0     20df usbuhci     
    20e0     20ff usbuhci     
    2100     211f usbuhci     
    2120     213f usbuhci     
    2140     2147 PCI.0.31.2  
    2148     214f PCI.0.31.2  
    2158     215b PCI.0.31.2  
    215c     215f PCI.0.31.2  
    efa0     efbf PCI.0.31.3  

% cat '#'c/config
# pc64mb - apple intel mb terminal with local disk
dev
	root
	cons
	swap
	arch
	pnp		pci
	env
	pipe
	proc
	mnt
	srv
	shr
	dup
	rtc
	ssl
	tls
	cap
	kprof
	fs

	ether		netif
	bridge		netif log
	ip		arp chandial ip ipv6 ipaux iproute netlog ethermedium nullmedium pktmedium inferno

	draw		screen vga vgax vgasoft
	mouse		mouse
	kbd
	vga		pci

	sd
	aoe

	audio		dma
	uart
	usb
	
	segment
	vmx
	dtracy

link
	cputemp		pci
#	stops at machine check
#	etherbcm        pci
	ethersink
	ethermedium
	etheriwl	pci wifi
	etherwpi	pci wifi
	etherrt2860	pci wifi
	ethervirtio	pci
	ethermedium
	netdevmedium
	loopbackmedium
	usbuhci		pci
	usbohci		pci
	usbehci		pci usbehcipc
	usbxhci		pci

	audiohda	pci

misc
	pci		pcipc
	archgeneric	devkbd i8259 i8253
	archacpi	mp apic squidboy ec hpet
	archmp		mp apic squidboy
	mtrr

	sdaoe
	sdide		pci sdscsi
	sd53c8xx	pci sdscsi
	sdiahci		pci sdscsi led
	sdvirtio	pci sdscsi
	sdmmc		pci pmmc
	sdnvme		pci
	sdloop
	sdram

	uarti8250
	uartisa
	uartpci		pci

	vgasoft		=cur swcursor
	vgaigfx		+cur
	vgaradeon	+cur
	vgavesa

	dtracysys
	dtracytimer

ip
	tcp
	udp
	rudp
	ipifc
	icmp
	icmp6
	gre
	ipmux
	esp
	il

port
	int cpuserver = 0;

bootdir
	/$objtype/bin/paqfs
	/$objtype/bin/auth/factotum
	bootfs.paq
	boot

% cat '#'c/sysstat
          0    21829631    26132925    28057245      630972           0           0          10          99           0 
          1    10335825    19631995    16427713      725871           0           0           0          99           0 
          2    13933933    29998540    19694471      449546           0           0           0          99           0 
          3    14582445    17660426    47229288      424272           0           0           0          99           0 

% cat '#'¶/swap
4198625280 memory
4096 pagesize
307517 kernel
211842/693165 user
0/160000 swap
36814/693165 reclaim
7828488/8652864/1243908864 kernel malloc
26895920/63426848/1119517978 kernel draw
265744/992928/16777216 kernel secret

% awk /^Plan 9/{p=1} /^init: starting/{exit} {if(p)print} '#'c/kmesg

% pci -v
0.0.0:	brg  06.00.00 8086/0104   0
	Intel Corporation 2nd Generation Core Processor Family DRAM Controller
0.1.0:	brg  06.04.00 8086/0101 255
	Intel Corporation Xeon E3-1200/2nd Generation Core Processor Family PCI Express Root Port
0.1.1:	brg  06.04.00 8086/0105 255
	Intel Corporation Xeon E3-1200/2nd Generation Core Processor Family PCI Express Root Port
0.2.0:	vid  03.00.00 8086/0126   0 0:a0000004 4194304 2:9000000c 268435456 4:00002001 64
	Intel Corporation 2nd Generation Core Processor Family Integrated Graphics Controller
0.22.0:	ser  07.80.00 8086/1c3a   0 0:a0907104 16
	Intel Corporation 6 Series/C200 Series Chipset Family MEI Controller #1
0.26.0:	usb  0c.03.00 8086/1c2c   0 4:00002121 32
	Intel Corporation 6 Series/C200 Series Chipset Family USB Universal Host Controller #5
0.26.1:	usb  0c.03.00 8086/1c2e   0 4:00002101 32
	Intel Corporation
0.26.2:	usb  0c.03.00 8086/1c2f   0 4:000020e1 32
	Intel Corporation
0.26.7:	usb  0c.03.20 8086/1c2d   0 0:a0906c00 1024
	Intel Corporation 6 Series/C200 Series Chipset Family USB Enhanced Host Controller #2
0.27.0:	aud  04.03.00 8086/1c20   0 0:a0900004 16384
	Intel Corporation 6 Series/C200 Series Chipset Family High Definition Audio Controller
0.28.0:	brg  06.04.00 8086/1c10 255
	Intel Corporation 6 Series/C200 Series Chipset Family PCI Express Root Port 1
0.28.1:	brg  06.04.00 8086/1c12 255
	Intel Corporation 6 Series/C200 Series Chipset Family PCI Express Root Port 2
0.28.2:	brg  06.04.00 8086/1c14 255
	Intel Corporation 6 Series/C200 Series Chipset Family PCI Express Root Port 3
0.29.0:	usb  0c.03.00 8086/1c27   0 4:000020c1 32
	Intel Corporation 6 Series/C200 Series Chipset Family USB Universal Host Controller #1
0.29.1:	usb  0c.03.00 8086/1c28   0 4:000020a1 32
	Intel Corporation
0.29.2:	usb  0c.03.00 8086/1c29   0 4:00002081 32
	Intel Corporation
0.29.7:	usb  0c.03.20 8086/1c26   0 0:a0906800 1024
	Intel Corporation 6 Series/C200 Series Chipset Family USB Enhanced Host Controller #1
0.31.0:	brg  06.01.00 8086/1c49   0
	Intel Corporation HM65 Express Chipset LPC Controller
0.31.2:	disk 01.06.01 8086/1c03   0 0:00002149 8 1:0000215d 4 2:00002141 8 3:00002159 4 4:00002061 32 5:a0906000 2048
	Intel Corporation 6 Series/C200 Series Chipset Family 6 port Mobile SATA AHCI Controller
0.31.3:	smb  0c.05.00 8086/1c22   0 0:a0907004 256 4:0000efa1 32
	Intel Corporation 6 Series/C200 Series Chipset Family SMBus Controller
5.0.0:	brg  06.04.00 8086/1513 255
	Intel Corporation CV82524 Thunderbolt Controller [Light Ridge 4C 2010]
6.0.0:	brg  06.04.00 8086/1513 255
	Intel Corporation CV82524 Thunderbolt Controller [Light Ridge 4C 2010]
6.3.0:	brg  06.04.00 8086/1513 255
	Intel Corporation CV82524 Thunderbolt Controller [Light Ridge 4C 2010]
6.4.0:	brg  06.04.00 8086/1513 255
	Intel Corporation CV82524 Thunderbolt Controller [Light Ridge 4C 2010]
6.5.0:	brg  06.04.00 8086/1513 255
	Intel Corporation CV82524 Thunderbolt Controller [Light Ridge 4C 2010]
6.6.0:	brg  06.04.00 8086/1513 255
	Intel Corporation CV82524 Thunderbolt Controller [Light Ridge 4C 2010]
7.0.0:	base 08.80.00 8086/1513   0 0:a0c00000 262144 1:a0c40000 4096
	Intel Corporation CV82524 Thunderbolt Controller [Light Ridge 4C 2010]
2.0.0:	net  02.00.00 14e4/16b4   0 0:a040000c 65536 2:a041000c 65536
	Broadcom Inc. and subsidiaries NetXtreme BCM57765 Gigabit Ethernet PCIe
2.0.1:	base 08.05.01 14e4/16bc   0 0:a042000c 65536
	Broadcom Inc. and subsidiaries BCM57765/57785 SDXC/MMC Card Reader
3.0.0:	net  02.80.00 14e4/4331   0 0:a0600004 16384
	Broadcom Inc. and subsidiaries BCM4331 802.11a/b/g/n
4.0.0:	---  0c.00.10 11c1/5901   0 0:a0500004 4096
	LSI Corporation FW643 [TrueFire] PCIe 1394b Controller

% aux/cpuid
vendor GenuineIntel
procmodel 000206a7 / 01100800
typefammod 0 06 026 7
features fpu vme de pse tsc msr pae mce cx8 apic sep mtrr pge mca cmov pat 
features pse36 clflush dts acpi mmx fxsr sse sse2 ss ht tm pbe 
features pni pclmulqdq dtes64 monitor ds_cpl vmx est tm2 ssse3 cx16 xtpr pdcm pcid sse4_1 sse4_2 x2apic 
features popcnt tscdeadline aes xsave osxsave avx 
features xsaveopt 
extmodel 00000000 / 00000000
extfeatures syscall nx tscp lm 
extfeatures ahf64 
procname Intel(R) Core(TM) i5-2415M CPU @ 2.30GHz
physbits 36
virtbits 48

% aux/icanhasmsi
0.1.0
0.1.1
0.2.0
0.22.0
0.27.0
0.28.0
0.28.1
0.28.2
0.31.2
5.0.0
6.0.0
6.3.0
6.4.0
6.5.0
6.6.0
7.0.0
2.0.0
2.0.1
3.0.0
4.0.0

% aux/icanhasvmx -v
vmcsrev 0x10
vmxonsz 1024
vmcsmem 6
extcontrols 1
pin extirq nmiexit virtnmi preempt 
proc irqwin tscoffset hltexit invlpgexit mwaitexit rdpmcexit rdtscexit cr3ldexit 
proc cr3stexit cr8ldexit cr8stexit tprshadow nmiwin movdrexit ioexit iobitmap mtf 
proc msrbitmap monitorexit pauseexit 
proc2 virtapic ept gdtexit rdtscp virtx2apic vpid wbinvdexit unrestr 
entry loaddebug guest64 entrysmm dualmonitor loadperfglobal loadpat loadefer 
exit savedebug host64 saveperfglobal ackextirq !savepat !loadpat saveefer loadefer 
exit savepreempt 
misc preemptdiv:5 cr3targ:4 maxmsr:0 mseg:0x0
misc longmodeswitch hlt shutdown ipi smmblock 
cr0fixed pe ne pg 
cr4fixed !umip vmxe !smxe !fsgsbase !smep !smap !pke 
vmcsenum 0x2a
ept xonly pwl4 ucmem wbmem 2MBpage invept invept.single invept.all 
vpid invvpid invvpid.addr invvpid.single invvpid.all invvpid.noglob 

% aux/pcmcia

% cat '#'u/usb/ctl
ep1.0 enabled control rw speed full maxpkt 64 ntds 1 pollival 0 samplesz 0 hz 0 uframes 0 hub 0 port 0 rootport 0 addr 0 busy
roothub csp 0x000009 ports 2 uhci
ep2.0 enabled control rw speed full maxpkt 64 ntds 1 pollival 0 samplesz 0 hz 0 uframes 0 hub 0 port 0 rootport 0 addr 0 busy
roothub csp 0x000009 ports 2 uhci
ep3.0 enabled control rw speed full maxpkt 64 ntds 1 pollival 0 samplesz 0 hz 0 uframes 0 hub 0 port 0 rootport 0 addr 0 busy
roothub csp 0x000009 ports 2 uhci
ep4.0 enabled control rw speed full maxpkt 64 ntds 1 pollival 0 samplesz 0 hz 0 uframes 0 hub 0 port 0 rootport 0 addr 0 busy
roothub csp 0x000009 ports 2 uhci
ep5.0 enabled control rw speed full maxpkt 64 ntds 1 pollival 0 samplesz 0 hz 0 uframes 0 hub 0 port 0 rootport 0 addr 0 busy
roothub csp 0x000009 ports 2 uhci
ep6.0 enabled control rw speed full maxpkt 64 ntds 1 pollival 0 samplesz 0 hz 0 uframes 0 hub 0 port 0 rootport 0 addr 0 busy
roothub csp 0x000009 ports 2 uhci
ep7.0 enabled control rw speed high maxpkt 64 ntds 1 pollival 0 samplesz 0 hz 0 uframes 0 hub 0 port 0 rootport 0 addr 0 busy
roothub csp 0x000009 ports 6 ehci
ep8.0 enabled control rw speed high maxpkt 64 ntds 1 pollival 0 samplesz 0 hz 0 uframes 0 hub 0 port 0 rootport 0 addr 0 busy
roothub csp 0x000009 ports 8 ehci
ep9.0 enabled control rw speed high maxpkt 64 ntds 1 pollival 0 samplesz 0 hz 0 uframes 0 hub 0 port 1 rootport 1 addr 9 busy
hub csp 0x020009 ports 2 none <nil> ehci
ep10.0 enabled control rw speed low maxpkt 8 ntds 1 pollival 0 samplesz 0 hz 0 uframes 0 hub 9 port 1 rootport 1 addr 10 busy
hid csp 0x000003 vid 0x05ac did 0x8242 'Apple Computer, Inc.' 'IR Receiver' d7a47 ehci
ep10.2 enabled interrupt r speed low maxpkt 8 ntds 1 pollival 10 samplesz 0 hz 0 uframes 0 hub 9 port 1 rootport 1 addr 10 busy
ep11.0 enabled control rw speed high maxpkt 64 ntds 1 pollival 0 samplesz 0 hz 0 uframes 0 hub 0 port 1 rootport 1 addr 11 busy
hub csp 0x020009 ports 3 none <nil> ehci
ep12.0 enabled control rw speed full maxpkt 8 ntds 1 pollival 0 samplesz 0 hz 0 uframes 0 hub 11 port 1 rootport 1 addr 12 busy
hub csp 0x000009 ports 3 'Apple Inc.' 'BRCM2070 Hub' ehci
ep13.0 enabled control rw speed full maxpkt 8 ntds 1 pollival 0 samplesz 0 hz 0 uframes 0 hub 11 port 2 rootport 1 addr 13 busy
hid csp 0x010103 vid 0x05ac did 0x0252 'Apple Inc.' 'Apple Internal Keyboard / Trackpad' 08066 ehci
ep13.1 enabled interrupt r speed full maxpkt 64 ntds 1 pollival 2 samplesz 0 hz 0 uframes 0 hub 11 port 2 rootport 1 addr 13 busy
ep13.3 enabled interrupt r speed full maxpkt 10 ntds 1 pollival 8 samplesz 0 hz 0 uframes 0 hub 11 port 2 rootport 1 addr 13 busy
ep13.4 enabled interrupt r speed full maxpkt 8 ntds 1 pollival 8 samplesz 0 hz 0 uframes 0 hub 11 port 2 rootport 1 addr 13 busy
ep14.0 enabled control rw speed full maxpkt 8 ntds 1 pollival 0 samplesz 0 hz 0 uframes 0 hub 11 port 3 rootport 1 addr 14 busy
255 csp 0xff00ff vid 0x0bda did 0x8150 Linksys 'Linksys USB LAN Adapter' 431bc ehci
ep14.1 enabled bulk r speed full maxpkt 64 ntds 1 pollival 1 samplesz 0 hz 0 uframes 0 hub 11 port 3 rootport 1 addr 14 busy
ep14.2 enabled bulk w speed full maxpkt 64 ntds 1 pollival 1 samplesz 0 hz 0 uframes 0 hub 11 port 3 rootport 1 addr 14 busy
ep14.3 enabled interrupt r speed full maxpkt 8 ntds 1 pollival 1 samplesz 0 hz 0 uframes 0 hub 11 port 3 rootport 1 addr 14 idle
ep15.0 enabled control rw speed high maxpkt 64 ntds 1 pollival 0 samplesz 0 hz 0 uframes 0 hub 0 port 2 rootport 2 addr 15 idle
239 csp 0x0102ef vid 0x05ac did 0x8509 'Apple Inc.' 'FaceTime HD Camera (Built-in)' 8ee7d ehci
ep15.1 enabled interrupt r speed high maxpkt 8 ntds 1 pollival 32 samplesz 0 hz 0 uframes 0 hub 0 port 2 rootport 2 addr 15 idle
ep15.2 enabled iso r speed high maxpkt 1024 ntds 3 pollival 10 samplesz 1 hz 0 uframes 0 hub 0 port 2 rootport 2 addr 15 idle

% cat '#'S/sdctl
sdE ahci ahci port 0xffffff00a0906000: 64a ncq ntf alp led clo pmb slum pslum ems apts alhd xonly smb elmt iss 3 ncs 31 np 6 ghc 80000002 isr 0 pi 3 0-1 ver 10300
sdM mmc 1 units
sdZ ram 4 units

% cat '#'S/sdE0/ctl
inquiry ST9320325ASG
model	ST9320325ASG
serial	5VEKPWBF
firm	0009APM1
wwn	5000c5003d8a7539
flag	lba llba smart power ata8 sct 
udma	6
reg	task 50 cmd c017 serr 0  ci 0 is 0 sig 101 sstatus 123
cmd	cr fr pod sud st 
mode	auto sataiii
geometry 625142448 512
alignment 512 0
missirq	3
part data 0 625142448
part esp 40 409640
part plan9 409640 623872872
part appleboot 623872872 625142408
part 9fat 409640 614440
part nvram 614440 614441
part other 614441 89651359
part fscache 89651359 178688277
part fsworm 178688277 623872872

% cat '#'S/sdE1/ctl
inquiry MATSHITADVD-R   UJ-8A8  HA13
model	MATSHITADVD-R   UJ-8A8
serial	D0210213240B4TDNVQAP
firm	HA13
flag	lba nop atapi 
udma	5
reg	task 2051 cmd c017 serr 0  ci 0 is 0 sig eb140101 sstatus 113
cmd	cr fr pod sud st 
mode	auto sataiii
geometry 0 0
alignment 0 0
missirq	3

% cat '#'S/sdM0/ctl
inquiry MMC Host Controller

% cat '#'v/vgactl
type cga
size 1280x800x32 x8r8g8b8
tilt none
hwgc soft
hwaccel off
hwblank off
addr p 0x90000000 v 0xffffff0090000000 size 0x4000000
softscreen on

@{rfork n; aux/realemu; aux/vga -p}
vga->attr: vid=0x8086
vga->attr: did=0x0126
vga misc             00
vga feature          00
vga sequencer        00 00 00 00 00
vga crt              FF FF FF FF FF FF FF FF - FF FF FF FF FF FF FF FF
                     FF FF FF FF FF FF FF FF - FF
vga graphics         00 00 00 00 00 00 00 00 - 00
vga attribute        0F 0E 0D 0C 0B 0A 09 08 - 07 06 05 04 03 02 01 00
                     01 21 00 33 00
vga virtual         0 0
vga apz                     0
vga linear                  1
igfx pipe a src      [0006001c] = 04ff031f
igfx pipe a conf     [00070008] = c0000050
igfx pipe a dm1      [00060030] = 7e4d5555
igfx pipe a dn1      [00060034] = 00800000
igfx pipe a lm1      [00060040] = 000225ed
igfx pipe a ln1      [00060044] = 00080000
igfx pipe a dm2      [00060038] = 7e4d5555
igfx pipe a dn2      [0006003c] = 00800000
igfx pipe a lm2      [00060048] = 000225ed
igfx pipe a ln2      [0006004c] = 00080000
igfx pipe a dm1 tu   64
igfx pipe a dm1/dn1  0.604167
igfx pipe a lm1/ln1  0.268518
igfx pipe a ht       [00060000] = 058e04ff
igfx pipe a hb       [00060004] = 058e04ff
igfx pipe a hs       [00060008] = 054f052f
igfx pipe a vt       [0006000c] = 034d031f
igfx pipe a vb       [00060010] = 034d031f
igfx pipe a vs       [00060014] = 03280322
igfx pipe a vss      [00060028] = 00000000
igfx fdi a conf      [000f0008] = c0000000
igfx fdi a dm1       [000e0030] = 00000000
igfx fdi a dn1       [000e0034] = 00000000
igfx fdi a lm1       [000e0040] = 00000000
igfx fdi a ln1       [000e0044] = 00000000
igfx fdi a dm2       [000e0038] = 00000000
igfx fdi a dn2       [000e003c] = 00000000
igfx fdi a lm2       [000e0048] = 00000000
igfx fdi a ln2       [000e004c] = 00000000
igfx fdi a ht        [000e0000] = 058e04ff
igfx fdi a hb        [000e0004] = 058e04ff
igfx fdi a hs        [000e0008] = 054f052f
igfx fdi a vt        [000e000c] = 034d031f
igfx fdi a vb        [000e0010] = 034d031f
igfx fdi a vs        [000e0014] = 03280322
igfx fdi a vss       [000e0028] = 00000000
igfx fdi a dpctl     [000e0300] = 60000018
igfx fdi a txctl     [00060100] = be044000
igfx fdi a rxctl     [000f000c] = 80022350
igfx fdi a rxmisc    [000f0010] = 00000080
igfx fdi a rxtu1     [000f0030] = 7e000000
igfx fdi a rxtu2     [000f0038] = 7e000000
igfx dsp a cntr      [00070180] = 98004400
igfx dsp a linoff    [00070184] = 00000000
igfx dsp a stride    [00070188] = 00001400
igfx dsp a surf      [0007019c] = 00000000
igfx dsp a tileoff   [000701a4] = 00000000
igfx cur a cntr      [00070080] = 00000000
igfx cur a base      [00070084] = 00000000
igfx cur a pos       [00070088] = 00000000
igfx pipe b src      [0006101c] = 00000000
igfx pipe b conf     [00071008] = 00000000
igfx pipe b dm1      [00061030] = 00000000
igfx pipe b dn1      [00061034] = 00000000
igfx pipe b lm1      [00061040] = 00000000
igfx pipe b ln1      [00061044] = 00000000
igfx pipe b dm2      [00061038] = 00000000
igfx pipe b dn2      [0006103c] = 00000000
igfx pipe b lm2      [00061048] = 00000000
igfx pipe b ln2      [0006104c] = 00000000
igfx pipe b ht       [00061000] = 00000000
igfx pipe b hb       [00061004] = 00000000
igfx pipe b hs       [00061008] = 00000000
igfx pipe b vt       [0006100c] = 00000000
igfx pipe b vb       [00061010] = 00000000
igfx pipe b vs       [00061014] = 00000000
igfx pipe b vss      [00061028] = 00000000
igfx fdi b conf      [000f1008] = 00000000
igfx fdi b dm1       [000e1030] = 00000000
igfx fdi b dn1       [000e1034] = 00000000
igfx fdi b lm1       [000e1040] = 00000000
igfx fdi b ln1       [000e1044] = 00000000
igfx fdi b dm2       [000e1038] = 00000000
igfx fdi b dn2       [000e103c] = 00000000
igfx fdi b lm2       [000e1048] = 00000000
igfx fdi b ln2       [000e104c] = 00000000
igfx fdi b ht        [000e1000] = 00000000
igfx fdi b hb        [000e1004] = 00000000
igfx fdi b hs        [000e1008] = 00000000
igfx fdi b vt        [000e100c] = 00000000
igfx fdi b vb        [000e1010] = 00000000
igfx fdi b vs        [000e1014] = 00000000
igfx fdi b vss       [000e1028] = 00000000
igfx fdi b dpctl     [000e1300] = 60000018
igfx fdi b txctl     [00061100] = 00040000
igfx fdi b rxctl     [000f100c] = 00000040
igfx fdi b rxmisc    [000f1010] = 00000080
igfx fdi b rxtu1     [000f1030] = 7e000000
igfx fdi b rxtu2     [000f1038] = 7e000000
igfx dsp b cntr      [00071180] = 00000000
igfx dsp b linoff    [00071184] = 00000000
igfx dsp b stride    [00071188] = 00000000
igfx dsp b surf      [0007119c] = 00000000
igfx dsp b tileoff   [000711a4] = 00000000
igfx cur b cntr      [000700c0] = 00000000
igfx cur b base      [000700c4] = 00000000
igfx cur b pos       [000700c8] = 00000000
igfx dpll a ctrl     [000c6014] = 88026002
igfx dpll a fp0      [000c6040] = 00051406
igfx dpll a fp1      [000c6044] = 00051406
igfx dpll a ctrl p1  2
igfx dpll a ctrl p2  14
igfx dpll a fp0 m1   20
igfx dpll a fp0 m2   6
igfx dpll a fp0 n    5
igfx dpll a cref     120000000
igfx dpll a fp0 freq 72244897
igfx dpll b ctrl     [000c6018] = 04800080
igfx dpll b fp0      [000c6048] = 00030d07
igfx dpll b fp1      [000c604c] = 00030d07
igfx dpll b ctrl p1  8
igfx dpll b ctrl p2  10
igfx dpll b fp0 m1   13
igfx dpll b fp0 m2   7
igfx dpll b fp0 n    3
igfx dpll b cref     120000000
igfx dpll b fp0 freq 25200000
igfx dpll c ctrl p1  9
igfx dpll c ctrl p2  10
igfx dpll c fp0 m1   0
igfx dpll c fp0 m2   0
igfx dpll c fp0 n    0
igfx dpll c cref     120000000
igfx dpll c fp0 freq 8000000
igfx dpll d ctrl p1  9
igfx dpll d ctrl p2  10
igfx dpll d fp0 m1   0
igfx dpll d fp0 m2   0
igfx dpll d fp0 n    0
igfx dpll d cref     120000000
igfx dpll d fp0 freq 8000000
igfx dpllsel a dpllsel [000c7000] = 00000008
igfx drefctl         [000c6200] = 00001402
igfx rawclkfreq      [000c6204] = 0000007d
igfx ssc4params      [000c6210] = 01204860
igfx dp a ctl        [00064000] = 00000018
igfx dp a dpcd       [00] = 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
igfx dp a dpcd       [10] = 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
igfx dp a dpcd       [20] = 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
igfx dp a dpcd       [30] = 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
igfx dp a dpcd       [40] = 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
igfx dp a dpcd       [50] = 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
igfx dp a dpcd       [60] = 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
igfx dp a dpcd       [70] = 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
igfx dp a dpcd       [80] = 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
igfx dp a dpcd       [90] = 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
igfx dp a dpcd       [a0] = 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
igfx dp a dpcd       [b0] = 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
igfx dp a dpcd       [c0] = 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
igfx dp a dpcd       [d0] = 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
igfx dp a dpcd       [e0] = 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
igfx dp a dpcd       [f0] = 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
igfx dp b ctl        [000e4100] = 00000004
igfx dp b dpcd       [00] = 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
igfx dp b dpcd       [10] = 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
igfx dp b dpcd       [20] = 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
igfx dp b dpcd       [30] = 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
igfx dp b dpcd       [40] = 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
igfx dp b dpcd       [50] = 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
igfx dp b dpcd       [60] = 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
igfx dp b dpcd       [70] = 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
igfx dp b dpcd       [80] = 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
igfx dp b dpcd       [90] = 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
igfx dp b dpcd       [a0] = 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
igfx dp b dpcd       [b0] = 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
igfx dp b dpcd       [c0] = 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
igfx dp b dpcd       [d0] = 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
igfx dp b dpcd       [e0] = 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
igfx dp b dpcd       [f0] = 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
igfx dp c ctl        [000e4200] = 00000004
igfx dp c dpcd       [00] = 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
igfx dp c dpcd       [10] = 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
igfx dp c dpcd       [20] = 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
igfx dp c dpcd       [30] = 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
igfx dp c dpcd       [40] = 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
igfx dp c dpcd       [50] = 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
igfx dp c dpcd       [60] = 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
igfx dp c dpcd       [70] = 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
igfx dp c dpcd       [80] = 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
igfx dp c dpcd       [90] = 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
igfx dp c dpcd       [a0] = 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
igfx dp c dpcd       [b0] = 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
igfx dp c dpcd       [c0] = 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
igfx dp c dpcd       [d0] = 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
igfx dp c dpcd       [e0] = 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
igfx dp c dpcd       [f0] = 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
igfx dp d ctl        [000e4300] = 00000004
igfx dp d dpcd       [00] = 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
igfx dp d dpcd       [10] = 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
igfx dp d dpcd       [20] = 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
igfx dp d dpcd       [30] = 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
igfx dp d dpcd       [40] = 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
igfx dp d dpcd       [50] = 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
igfx dp d dpcd       [60] = 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
igfx dp d dpcd       [70] = 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
igfx dp d dpcd       [80] = 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
igfx dp d dpcd       [90] = 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
igfx dp d dpcd       [a0] = 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
igfx dp d dpcd       [b0] = 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
igfx dp d dpcd       [c0] = 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
igfx dp d dpcd       [d0] = 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
igfx dp d dpcd       [e0] = 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
igfx dp d dpcd       [f0] = 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
igfx hdmi b ctl      [000e1140] = 0000001c
igfx hdmi c ctl      [000e1150] = 0000001c
igfx hdmi d ctl      [000e1160] = 0000001c
igfx pfit a ctrl     [00068080] = 00000000
igfx pfit a winpos   [00068070] = 00000000
igfx pfit a winsize  [00068074] = 00000000
igfx pfit a pwrgate  [00068060] = 00006453
igfx pfit b ctrl     [00068880] = 00000000
igfx pfit b winpos   [00068870] = 00000000
igfx pfit b winsize  [00068874] = 00000000
igfx pfit b pwrgate  [00068860] = 00006453
igfx ppcontrol       [000c7204] = 00000007
igfx ppstatus        [000c7200] = c0000008
igfx adpa            [000e1100] = 00040000
igfx lvds            [000e1180] = 80300302
igfx vgacntrl        [00041000] = 8024298e

% xd -x1 '#'r/nvram
0000000  07 ea 46 fd 15 d3 05 19 04 21 26 02 70 80 5b 00
0000010  ee 72 16 b6 ce 35 fd a7 5b 0f 2b 7d 90 08 f5 4f
0000020  37 94 72 da 6b 7c 2c 92 c5 ec fd 7e a0 df 07 e8
0000030  8c 4c 20 33 06 dd 37 7a 99 a8 91 9c 78 00 80 06
0000040  00 00 00 00 fe 00 00 00 00 00 00 00 00 00 00 00
0000050  00 00 00 00 00 00 00 78 03 9f 80 00 04 00 00 00
0000060  54 4f 4f 42 00 00 00 02 00 00 1f 02 00 00 00 00
0000070  00 00 00 00 00 00 00 00 00 00 00 00 6b 28 df 12
0000080  07 ea 46 fd 15 d3 05 19 04 21 26 02 40 80 5b 00
0000090  ee 72 16 b6 ce 35 fd a7 5b 0f 2b 7d 90 08 f5 4f
00000a0  37 94 72 da 6b 7c 2c 92 c5 ec fd 7e a0 df 07 e8
00000b0  8c 4c 20 33 06 dd 37 7a 99 a8 91 9c 78 00 80 06
00000c0  00 00 00 00 fe 00 00 00 00 00 00 00 00 00 00 00
00000d0  00 00 00 00 00 00 00 78 03 9f 80 00 04 00 00 00
00000e0  54 4f 4f 42 00 00 00 02 00 00 1f 02 00 00 00 00
00000f0  00 00 00 00 00 00 00 00 00 00 00 00 6b 28 df 12
0000100 
0000100 

% cat '#'A/audiostat
bufsize   1024 buffered      0
codec 0 pin 9 inpin 13
aout 2 d041d
aout 3 d041d
aout 4 d041d
ain 5 18051b ← pin 12, pin 18
ain 6 18051b ← pin 13, pin 14
ain 7 180791 ← pin 15
aout 8 40611
pin 9 out jack ext resvd hpout green ← aout 2
pin 10 out fix int N/A speaker ? ← aout 3
pin 11 out fix int N/A speaker ? ← aout 4
pin 12 in jack ext resvd linein blue
pin 13 in fix int N/A micin ?
pin 14 in nothing ext N/A lineout ?
pin 15 in nothing ext N/A lineout ?
pin 16 out jack ext N/A spdifout white ← aout 8
beep 17 f00040
pin 18 in nothing ext N/A lineout ?
beep 19 700000
aout 20 40611
pin 21 out nothing ext N/A lineout ? ← aout 20
codec 3 pin 9 inpin 13
aout 2 6611
aout 3 6611
aout 4 6611
pin 5 out jack int special digiout ? hdmi ← aout 2
pin 6 out jack int special digiout ? hdmi ← aout 3
pin 7 out jack int special digiout ? hdmi ← aout 4
beep 8 f00000
outpath aout 2 → pin 9
outamp aout 2
inpath pin 13 → ain 6
inamp ain 6

% cat '#'A/volume
master 100 100
recgain 0 0
speed 44100
delay 1764

% cat /mnt/apm/ctl



^ permalink raw reply	[flat|nested] 9+ messages in thread

* Re: [9front] MB Pro early-2011 support status
  2021-04-19  5:36 [9front] MB Pro early-2011 support status unobe
  2021-04-19 10:40 ` [9front] " Anthony Martin
@ 2021-04-19 19:00 ` Nick Owens
  2021-04-20 15:59   ` unobe
  2021-04-21 15:01 ` cinap_lenrek
  2 siblings, 1 reply; 9+ messages in thread
From: Nick Owens @ 2021-04-19 19:00 UTC (permalink / raw)
  To: 9front

On Sun, Apr 18, 2021 at 10:42 PM <unobe@cpan.org> wrote:
>
> I have written a description about what works and does not work on an
> early-2011 macbook pro.  The post is @
> https://blog.fallglow.com/2021/04-13/blog
>
> I have a few patches that have made it more reasonable to use 9front
> on a macbook from the get-go (most notably the new keymap and pc64mb
> conf file in the pc64 kernel directory) and have setup up a new branch
> to keep track of the changes.  It's not ready for merging to default
> but my hope is to get multi-touch working along with some of the other
> hardware (audio, camera, monitor blanking).  The branch is now hosted
> at https://fallglow.com/p9/mb : my plan is to track default and merge
> default into this branch every so often.
>
> One of my next steps that I'd like to do is to try to resolve is the
> lack of monitor blanking.  The current status of Sandy Bridge mentions
> it being unfinished (changeset 4713:3e7542933175 ).  There's code in
> the igfx for sandy bridge to blank, but it's not working for me when I
> set 'echo hwblank on >/dev/vgactl' and do 'echo blank >/dev/mousectl'.
> So I figure there's something that isn't implemented yet.  This is a
> new area of programming for me so I figure looking at the 9front code,
> the corresponding drivers for OpenBSD and Linux, and the programmer's
> manuals is what I should do.  Cinap--since you committed changeset
> 4713, do you recall anything I should be looking at for this?  (Or
> anyone else who is still reading this long, drawn-out message?) I am
> currently wading through the 2011 Intel Core Processor Family docs
> found at
> https://01.org/linuxgraphics/documentation/hardware-specification-prms
>

i added blanking for some cards in this commit:

changeset:   6686:2f61fba90cd1
user:        mischief <mischief@offblast.org>
date:        Tue Aug 21 11:31:45 2018 -0700
summary:     igfx: support blanking by turning off panel power and backlight

it should (in theory) work for your chip. you have the 0x0126 did
(from your sysinfo):

        case 0x0126:    /* SNB */
        case 0x0166:    /* IVB */
                off = 0xC7204;
                break;
        }

        /* toggle PP_CONTROL backlight & power state */
        if(blank)
                scr->mmio[off/4] &= ~0x5;
        else
                scr->mmio[off/4] |= 0x5;

you can also see the value of PP_CONTROL in the aux/vga -p output in
your sysinfo. maybe double check the programming manual for the
PP_CONTROL register location and value to see if those bits are
correct.

IIRC this code worked for me and others on thinkpads, but it's
possible that this register isn't hooked up in this hardware.

^ permalink raw reply	[flat|nested] 9+ messages in thread

* Re: [9front] MB Pro early-2011 support status
  2021-04-19 19:00 ` [9front] " Nick Owens
@ 2021-04-20 15:59   ` unobe
  2021-04-20 19:20     ` unobe
  0 siblings, 1 reply; 9+ messages in thread
From: unobe @ 2021-04-20 15:59 UTC (permalink / raw)
  To: 9front

Quoth Nick Owens <mischief@offblast.org>:
> i added blanking for some cards in this commit:
> 
> changeset:   6686:2f61fba90cd1
> user:        mischief <mischief@offblast.org>
> date:        Tue Aug 21 11:31:45 2018 -0700
> summary:     igfx: support blanking by turning off panel power and backlight
> ...
> you can also see the value of PP_CONTROL in the aux/vga -p output in
> your sysinfo. maybe double check the programming manual for the
> PP_CONTROL register location and value to see if those bits are
> correct.
> 
> IIRC this code worked for me and others on thinkpads, but it's
> possible that this register isn't hooked up in this hardware.

Thanks, mischief!  I had seen that bit of code so thought it should
have worked as well. 
https://01.org/sites/default/files/documentation/snb_ihd_os_vol3_part3_0.pdf
on pages 49-51 explain PP_CONTROL, and it would be odd, I would think,
for it not to work on a macbook that does do screen blanking when
running OS X (unless there's another mechanism for it).  A couple
lines down from the ppcontrol in 'aux/vga -p' there's a line about
lvds and vgacntrl:

	igfx lvds            [000e1180] = 80300302
	igfx vgacntrl        [00041000] = 8024298e

Do you know if that means vga commands for blanking could then be
supported, something like what's tried in
/sys/src/9/pc/vga.c:/^vgablank ?


^ permalink raw reply	[flat|nested] 9+ messages in thread

* Re: [9front] MB Pro early-2011 support status
  2021-04-20 15:59   ` unobe
@ 2021-04-20 19:20     ` unobe
  2021-04-21  4:29       ` unobe
  0 siblings, 1 reply; 9+ messages in thread
From: unobe @ 2021-04-20 19:20 UTC (permalink / raw)
  To: 9front

Quoth unobe@cpan.org:
> Do you know if that means vga commands for blanking could then be
> supported, something like what's tried in
> /sys/src/9/pc/vga.c:/^vgablank ?

Okay, so I found the problem by (surprise, surprise!) looking at the
code, and what calls what.  I'll try to post more details later
tonight. But it appears to be a config issue.

In plan9.ini I set $monitor to 'vga', which then sets my native
resolution to 1280x800x32.  $vgasize is not set, and if I did try to
set it to that using 'aux/vga -l' it would fail because that
resolution isn't in vgadb (I think I'd have to have the timing info,
which I don't have--but maybe that can be introspected or there's a
simple fix?  It'd be nice to be able to switch to other other
(purported) native resolutions).  So when I call /bin/screenrc (before
starting rio), there's no $vgasize so aux/vga -l $vgasize doesn't get
loaded, so drawinit is never called for igfx, so screen blanking is
never set.  I manually did: 'echo drawinit >/dev/vgactl' then when I
did 'echo blank >/dev/mousectl' I saw a flicker.  Doing a 'sleep 1;
echo blank >/dev/mousectl' works and now I have screen blanking.
Huzzah.


^ permalink raw reply	[flat|nested] 9+ messages in thread

* Re: [9front] MB Pro early-2011 support status
  2021-04-20 19:20     ` unobe
@ 2021-04-21  4:29       ` unobe
  0 siblings, 0 replies; 9+ messages in thread
From: unobe @ 2021-04-21  4:29 UTC (permalink / raw)
  To: 9front

So basically I didn't notice that '#v'/vgactl actually has type 'cga'
on boot, even if I had specified 'vga' or 'igfx' in plan9.ini.
Plan9.ini(8) mentions that the file isn't looked at by the kernel, but
had thought it would be a way to specify which vga driver to load.
Maybe that's be design.  In /cfg/machine/cpurc, I have
:

	echo -n type igfx >'#v'/vgactl
	echo -n drawint >'#v'/vgactl
	echo -n hwblank on >'#v'/vgactl

That configures my screen correctly.  Doing 'aux/vga -p' indirectly
modifies type to 'igfx' which is why I thought that was the value on
boot, and that is what is reflected in my sysinfo that I posted.

Thanks Nick and Anthony for replying to my previous posts in this
thread.  I think it helped me to re-consider my assumptions and find
out that the hard work was already done for me by 9front committers.


^ permalink raw reply	[flat|nested] 9+ messages in thread

* Re: [9front] MB Pro early-2011 support status
  2021-04-19  5:36 [9front] MB Pro early-2011 support status unobe
  2021-04-19 10:40 ` [9front] " Anthony Martin
  2021-04-19 19:00 ` [9front] " Nick Owens
@ 2021-04-21 15:01 ` cinap_lenrek
  2021-04-22 17:50   ` unobe
  2 siblings, 1 reply; 9+ messages in thread
From: cinap_lenrek @ 2021-04-21 15:01 UTC (permalink / raw)
  To: 9front

ah! i just took a look and found this:

https://fallglow.com/p9/mb/rev/9830eaea57c9

this stuff is very hard for us to verify without
having the hardware.

maybe we should adopt like getting a sysinfo proove
for all pci vid/did additions to at least have a
chance to sanity check it.

poking at the embedded controller can have fatal
consequences, maybe even brick the machine.

--
cinap

^ permalink raw reply	[flat|nested] 9+ messages in thread

* Re: [9front] MB Pro early-2011 support status
  2021-04-21 15:01 ` cinap_lenrek
@ 2021-04-22 17:50   ` unobe
  0 siblings, 0 replies; 9+ messages in thread
From: unobe @ 2021-04-22 17:50 UTC (permalink / raw)
  To: 9front

Quoth cinap_lenrek@felloff.net:
> ah! i just took a look and found this:
> 
> https://fallglow.com/p9/mb/rev/9830eaea57c9
> 
> this stuff is very hard for us to verify without
> having the hardware.
> 
> maybe we should adopt like getting a sysinfo proove
> for all pci vid/did additions to at least have a
> chance to sanity check it.
> 
> poking at the embedded controller can have fatal
> consequences, maybe even brick the machine.

Indeed, that was very much my fault, and that's why when I noticed my
mistake, I posted a follow-up patch.  I see you already fixed it too.

Maybe the sysinfo check would be good, or maybe it's just for me--I
don't want to inflict more overhead for others due to a problem with a
specific person (that is, me).

In the future, I'll just make sure to attach sysinfo for any future
vid/did additions.


^ permalink raw reply	[flat|nested] 9+ messages in thread

end of thread, other threads:[~2021-04-22 21:17 UTC | newest]

Thread overview: 9+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2021-04-19  5:36 [9front] MB Pro early-2011 support status unobe
2021-04-19 10:40 ` [9front] " Anthony Martin
2021-04-19 16:14   ` unobe
2021-04-19 19:00 ` [9front] " Nick Owens
2021-04-20 15:59   ` unobe
2021-04-20 19:20     ` unobe
2021-04-21  4:29       ` unobe
2021-04-21 15:01 ` cinap_lenrek
2021-04-22 17:50   ` unobe

9front - general discussion about 9front

This inbox may be cloned and mirrored by anyone:

	git clone --mirror http://inbox.vuxu.org/9front

	# If you have public-inbox 1.1+ installed, you may
	# initialize and index your mirror using the following commands:
	public-inbox-init -V1 9front 9front/ http://inbox.vuxu.org/9front \
		9front@9front.org
	public-inbox-index 9front

Example config snippet for mirrors.
Newsgroup available over NNTP:
	nntp://inbox.vuxu.org/vuxu.archive.9front


AGPL code for this site: git clone https://public-inbox.org/public-inbox.git