Re: Kernel panic with alternative wscons console fonts

2013-05-22 Thread David Coppa
On Tue, 21 May 2013, Miod Vallat wrote:

> > While experimenting, I've found that fonts with WSDISPLAY_FONTENC_ISO
> > encoding like bold8x16-iso1 or sony8x16 are ok, while fonts with
> > WSDISPLAY_FONTENC_IBM (bold8x16, vt220l8x8) cause the kernel panic
> > below:
> 
> Fixed. Thanks for the report!

Thanks a lot for the fix, Miod.

I'd like to share a nice hack Alexander Polakov did: terminus on
the console!

ciao,
David

Index: ter-u16n.h
===
RCS file: ter-u16n.h
diff -N ter-u16n.h
--- /dev/null   1 Jan 1970 00:00:00 -
+++ ter-u16n.h  22 May 2013 13:21:26 -
@@ -0,0 +1,3456 @@
+static u_char Terminus8x16_data[];
+
+struct wsdisplay_font Terminus8x16= {
+   "Terminus", /* typeface name */
+   0, /* index */
+   ' ', /* firstchar */
+   256 - ' ', /* numchars */
+   WSDISPLAY_FONTENC_ISO, /* encoding */
+   8, /* width */
+   16, /* height */
+   1, /* stride */
+   WSDISPLAY_FONTORDER_L2R, /* bit order */
+   WSDISPLAY_FONTORDER_L2R, /* byte order */
+   NULL, /* cookie */
+   Terminus8x16_data /* data */
+   };
+static u_char Terminus8x16_data[] = {
+   /* space */
+   0x0,
+   0x0,
+   0x0,
+   0x0,
+   0x0,
+   0x0,
+   0x0,
+   0x0,
+   0x0,
+   0x0,
+   0x0,
+   0x0,
+   0x0,
+   0x0,
+   0x0,
+   0x0,
+   
+   /* exclam */
+   0x0,
+   0x0,
+   0x10,
+   0x10,
+   0x10,
+   0x10,
+   0x10,
+   0x10,
+   0x10,
+   0x0,
+   0x10,
+   0x10,
+   0x0,
+   0x0,
+   0x0,
+   0x0,
+   
+   /* quotedbl */
+   0x0,
+   0x24,
+   0x24,
+   0x24,
+   0x0,
+   0x0,
+   0x0,
+   0x0,
+   0x0,
+   0x0,
+   0x0,
+   0x0,
+   0x0,
+   0x0,
+   0x0,
+   0x0,
+   
+   /* numbersign */
+   0x0,
+   0x0,
+   0x24,
+   0x24,
+   0x24,
+   0x7e,
+   0x24,
+   0x24,
+   0x7e,
+   0x24,
+   0x24,
+   0x24,
+   0x0,
+   0x0,
+   0x0,
+   0x0,
+   
+   /* dollar */
+   0x0,
+   0x10,
+   0x10,
+   0x7c,
+   0x92,
+   0x90,
+   0x90,
+   0x7c,
+   0x12,
+   0x12,
+   0x92,
+   0x7c,
+   0x10,
+   0x10,
+   0x0,
+   0x0,
+   
+   /* percent */
+   0x0,
+   0x0,
+   0x64,
+   0x94,
+   0x68,
+   0x8,
+   0x10,
+   0x10,
+   0x20,
+   0x2c,
+   0x52,
+   0x4c,
+   0x0,
+   0x0,
+   0x0,
+   0x0,
+   
+   /* ampersand */
+   0x0,
+   0x0,
+   0x18,
+   0x24,
+   0x24,
+   0x18,
+   0x30,
+   0x4a,
+   0x44,
+   0x44,
+   0x44,
+   0x3a,
+   0x0,
+   0x0,
+   0x0,
+   0x0,
+   
+   /* quotesingle */
+   0x0,
+   0x10,
+   0x10,
+   0x10,
+   0x0,
+   0x0,
+   0x0,
+   0x0,
+   0x0,
+   0x0,
+   0x0,
+   0x0,
+   0x0,
+   0x0,
+   0x0,
+   0x0,
+   
+   /* parenleft */
+   0x0,
+   0x0,
+   0x8,
+   0x10,
+   0x20,
+   0x20,
+   0x20,
+   0x20,
+   0x20,
+   0x20,
+   0x10,
+   0x8,
+   0x0,
+   0x0,
+   0x0,
+   0x0,
+   
+   /* parenright */
+   0x0,
+   0x0,
+   0x20,
+   0x10,
+   0x8,
+   0x8,
+   0x8,
+   0x8,
+   0x8,
+   0x8,
+   0x10,
+   0x20,
+   0x0,
+   0x0,
+   0x0,
+   0x0,
+   
+   /* asterisk */
+   0x0,
+   0x0,
+   0x0,
+   0x0,
+   0x0,
+   0x24,
+   0x18,
+   0x7e,
+   0x18,
+   0x24,
+   0x0,
+   0x0,
+   0x0,
+   0x0,
+   0x0,
+   0x0,
+   
+   /* plus */
+   0x0,
+   0x0,
+   0x0,
+   0x0,
+   0x0,
+   0x10,
+   0x10,
+   0x7c,
+   0x10,
+   0x10,
+   0x0,
+   0x0,
+   0x0,
+   0x0,
+   0x0,
+   0x0,
+   
+   /* comma */
+   0x0,
+   0x0,
+   0x0,
+   0x0,
+   0x0,
+   0x0,
+   0x0,
+   0x0,
+   0x0,
+   0x0,
+   0x10,
+   0x10,
+   0x20,
+   0x0,
+   0x0,
+   0x0,
+   
+   /* hyphen */
+   0x0,
+   0x0,
+   0x0,
+   0x0,
+   0x0,
+   0x0,
+   0x0,
+   0x7e,
+   0x0,
+   0x0,
+   0x0,
+   0x0,
+   0x0,
+   0x0,
+   0x0,
+   0x0,
+   
+   /* period */
+   0x0,
+   0x0,
+   0x0,
+   0x0,
+   0x0,
+   0x0,
+   0x0,
+   0x0,
+   0x0,
+   0x0,
+   0x10,
+   0x10,
+   0x0,
+   0x0,
+   0x0,
+   0x0,
+   
+   /* slash */
+   0x0,
+   0x0,
+   0x4,
+   0x4,
+   0x8,
+   0x8,
+   0x10,
+   0x10,
+  

Re: Kernel panic with alternative wscons console fonts

2013-05-21 Thread Miod Vallat
> While experimenting, I've found that fonts with WSDISPLAY_FONTENC_ISO
> encoding like bold8x16-iso1 or sony8x16 are ok, while fonts with
> WSDISPLAY_FONTENC_IBM (bold8x16, vt220l8x8) cause the kernel panic
> below:

Fixed. Thanks for the report!



Kernel panic with alternative wscons console fonts

2013-05-21 Thread David Coppa

Hi!

So I have this netbook with a small screen (10 inch 1024x600)...

I have toyed with a custom kernel using an alternative font for the
wscons framebuffer console to get bigger screen estate.

---8<---

Index: GENERIC
===
RCS file: /cvs/src/sys/arch/i386/conf/GENERIC,v
retrieving revision 1.746
diff -u -p -u -p -r1.746 GENERIC
--- GENERIC 5 Apr 2013 02:56:15 -   1.746
+++ GENERIC 21 May 2013 10:06:05 -
@@ -29,6 +29,8 @@ optionPROCFS  # /proc
 option NTFS# NTFS support
 option HIBERNATE   # Hibernate support
 
+option FONT_BOLD8x16_ISO1
+
 config bsd swap generic
 
 mainbus0 at root

---8<---

While experimenting, I've found that fonts with WSDISPLAY_FONTENC_ISO
encoding like bold8x16-iso1 or sony8x16 are ok, while fonts with
WSDISPLAY_FONTENC_IBM (bold8x16, vt220l8x8) cause the kernel panic
below:

---8<---

inteldrm0: 1024x600
wsdisplay0 at vga1 mux 1uvm_fault(0xd0ab0900, 0x0, 0, 1) -> e
kernel: page fault trap, code=0
Stopped at  wsfont_map_unichar+0x4b:subl0(%eax),%edx
wsfont_map_unichar(d0a50e40,2409,9,200,0) at wsfont_map_unichar+0x4b
rasops_mapchar(d1f2b1f4,2409,d1f4b188,d0b6bea0,d1f27b40) at rasops_mapchar+0x5d

vt100_initchartables(d0b6bea0,2,2,d1e0769a,d0c33adc) at 
vt100_initchartables+0x80
wsemul_vt100_attach(1,0,0,0,0) at wsemul_vt100_attach+0x11f
wsscreen_attach(d1f4a000,1,0,0,0) at wsscreen_attach+0x11b
wsdisplay_common_attach(d1f4a000,1,1,d0a4352c,d0a43540) at 
wsdisplay_common_attach+0xcd
wsdisplay_emul_attach(d1ef4e00,d1f4a000,d0c33c44,d043fbcb,0 at 
wsdisplay_emul_attach+0x45
config_attach(d1ef4e00,d0a412c0,d0c33c44,d07b0bc0,706) at 
config_attach+0x1bb
inteldrm_attach(d1ef4e00,d1f2b000,d0c33d50,d043fbcb,d0604a70) at 
inteldrm_attach+0x589
config_attach(d1ef4e00,d0a3ea00,d0c33d50,0,27ae) at config_attach+0x1bb
ddb{0}> trace
wsfont_map_unichar(d0a50e40,2409,9,200,0) at wsfont_map_unichar+0x4b
rasops_mapchar(d1f2b1f4,2409,d1f4b188,d0b6bea0,d1f27b40) at rasops_mapchar+0x5d

vt100_initchartables(d0b6bea0,2,2,d1e0769a,d0c33adc) at 
vt100_initchartables+0x80
wsemul_vt100_attach(1,0,0,0,0) at wsemul_vt100_attach+0x11f
wsscreen_attach(d1f4a000,1,0,0,0) at wsscreen_attach+0x11b
wsdisplay_common_attach(d1f4a000,1,1,d0a4352c,d0a43540) at 
wsdisplay_common_attach+0xcd
wsdisplay_emul_attach(d1ef4e00,d1f4a000,d0c33c44,d043fbcb,0 at 
wsdisplay_emul_attach+0x45
config_attach(d1ef4e00,d0a412c0,d0c33c44,d07b0bc0,706) at 
config_attach+0x1bb
inteldrm_attach(d1ef4e00,d1f2b000,d0c33d50,d043fbcb,d0604a70) at 
inteldrm_attach+0x589
config_attach(d1ef4e00,d0a3ea00,d0c33d50,0,27ae) at config_attach+0x1bb
vga_pci_attach(d1e07a80,d1ef4e00,d0c33d50,d043fbcb,d0600a50) at 
vga_pci_attach+0x112
config_attach(d1e07a80,d0a3f080,d0c33d50,d0602ca0,d0c33db4) at 
config_attach+0x1bb
pci_probe_device(d1e07a80,80001000,0,0,e07a80) at pci_probe_device+0x423
pci_enumerate_bus(d1e07a80,0,0,d043fbcb,0) at pci_enumerate_bus+0x11c
config_attach(d1ef3000,d0a3f060,d0c33e54,d0600690,0) at config_attach+0x1bb
mainbus_attach(0,d1ef3000,0,d0a3f040,0) at mainbus_attach+0x21b
config_attach(0,d0a3f040,0,0,d0ab0720) at config_attach+0x1bb
config_rootfound(d095d4ac,0,0,d042fff1,0) at config_rootfound+0x46
cpu_configure(d0b6c2a0,1,1000,cff3f000,1) at cpu_configure+0x29
main(d02004f6,d02004fe,0,0,0) at main+0x3fb
ddb{0}> 

---8<---

I'm very happy with FONT_BOLD8x16_ISO1, I just wanted to report
what I've found.

Ciao,
David