Current-Users archive

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index][Old Index]

Re: latest i386 radeondrmkms trials



I've attached my dmesg.boot, Xorg.0.conf (when only Xorg is run, does not crash, shows working mouse cursor only) and the output from a panic taken with a debug kernel, if it might be of interest. 

Chavdar

On Fri, 27 Feb 2015 at 04:28 John D. Baker <jdbaker%mylinuxisp.com@localhost> wrote:
On Thu, 26 Feb 2015, John D. Baker wrote:

> Xorg works very well.  ISTR some suggestions about using
>
>   Option      "AccelMethod"   "SNA"
>
> although that might have been aimed at i915drmkms users.  I'll try it
> on radeondrmkms for completeness.

I checked and "SNA" is an intel-specific thing.  Radeon has options
of XAA or EXA (default).  "XAA" produced the same results as "EXA".
Setting only "RenderAccel" to "false" allowed a few more things to
draw, but it still panicked.

Serial console worked, however, so I was able to capture the
results:

NetBSD 7.99.5 (SLAB_KMS) #24: Thu Feb 26 10:43:54 CST 2015
        sysop@verthandi.technoskunk.fur:/d0/build/current/obj/i386/sys/arch/i386/compile/SLAB_KMS
total memory = 2046 MB
avail memory = 2001 MB
[...]
acpivga0 at acpi0 (VID): ACPI Display Adapter
acpiout0 at acpivga0 (LCD0, 0x0110): ACPI Display Output Device
acpiout1 at acpivga0 (CRT0, 0x0100): ACPI Display Output Device
acpiout2 at acpivga0 (TV0, 0x0200): ACPI Display Output Device
acpiout3 at acpivga0 (DVI0, 0x0210): ACPI Display Output Device
[...]
pchb0 at pci0 dev 0 function 0: Intel 82845 Host (rev. 0x04)
agp0 at pchb0: aperture at 0xe0000000, size 0x4000000
ppb0 at pci0 dev 1 function 0: Intel 82845 AGP (rev. 0x04)
pci1 at ppb0 bus 1
radeon0 at pci1 dev 0 function 0: ATI Technologies FireGL Mobility 7800 M7 LX (rev. 0x00)
[...]
root file system type: nfs
kern.module.path=/stand/i386/7.99.5/modules
drm: initializing kernel modesetting (RV200 0x1002:0x4C58 0x1014:0x0518).
drm: register mmio base: 0xd0100000
drm: register mmio size: 65536
radeon0: info: GTT: 64M 0xE0000000 - 0xE3FFFFFF
radeon0: info: VRAM: 128M 0x00000000E8000000 - 0x00000000EFFFFFFF (64M used)
drm: Detected VRAM RAM=80M, BAR=128M
drm: RAM width 128bits DDR
Zone  kernel: Available graphics memory: 801148 kiB
drm: radeon: 64M of VRAM memory ready
drm: radeon: 64M of GTT memory ready.
radeon0: info: WB disabled
radeon0: info: fence driver on ring 0 use gpu addr 0x00000000e0000000 and cpu addr 0x0xdb4fc000
drm: Supports vblank timestamp caching Rev 2 (21.10.2013).
drm: Driver supports precise vblank timestamp query.
radeon0: interrupting at irq 9 (radeon)
drm: radeon: irq initialized.
drm: Loading R100 Microcode
warning: no /dev/console
drm: radeon: ring at 0x00000000E0001000
drm: ring test succeeded in 0 usecs
drm: ib test succeeded in 0 usecs
drm: Panel ID String: 1600x1200
drm: Panel Size 1600x1200
drm: No TV DAC info found in BIOS
drm: Radeon Display Connectors
drm: Connector 0:
drm:   VGA-1
drm:   DDC: 0x60 0x60 0x60 0x60 0x60 0x60 0x60 0x60
drm:   Encoders:
drm:     CRT1: INTERNAL_DAC1
drm: Connector 1:
drm:   DVI-D-1
drm:   HPD1
drm:   DDC: 0x64 0x64 0x64 0x64 0x64 0x64 0x64 0x64
drm:   Encoders:
drm:     DFP1: INTERNAL_TMDS1
drm: Connector 2:
drm:   LVDS-1
drm:   Encoders:
drm:     LCD1: INTERNAL_LVDS
drm: Connector 3:
drm:   SVIDEO-1
drm:   Encoders:
drm:     TV1: INTERNAL_DAC2
radeondrmkmsfb0 at radeon0
radeon0: info: registered panic notifier
wsdisplay0 at radeondrmkmsfb0 kbdmux 1
[...]
[startx]
panic: kernel diagnostic assertion "ttm->caching_state == tt_cached" failed: file "/x/current/src/sys/external/bsd/drm2/dist/drm/ttm/ttm_tt.c", line 423
fatal breakpoint trap in supervisor mode
trap type 1 code 0 eip c02516b4 cs 8 eflags 3246 cr2 bb1ba000 ilevel 0 esp dbec3d08
curlwp 0xc3811560 pid 278 lid 1 lowest kstack 0xdbec12c0
Stopped in pid 278.1 (Xorg) at  netbsd:breakpoint+0x4:  popl    %ebp
db{0}> bt
breakpoint(c097a41a,c0b7ec40,c095f8cc,dbec3d24,c41b8308,c494ef70,2000,dbec3d18,c
08940b3,c095f8cc) at netbsd:breakpoint+0x4
vpanic(c095f8cc,dbec3d24,dbec3d3c,c0753128,c095f8cc,c095fa7d,c09d3910,c09d3894,1
a7,c41b8308) at netbsd:vpanic+0x127
kern_assert(c095f8cc,c095fa7d,c09d3910,c09d3894,1a7,c41b8308,c494ef70,dbec3d68,c
0751db0,c41b8308) at netbsd:kern_assert+0x23
ttm_tt_swapout(c41b8308,0,c41b8308,c491b0bc,2,dbec3d78,c41b8308,c491b0bc,2,dbec3
d78) at netbsd:ttm_tt_swapout+0x148
ttm_bus_dma_unpopulate(c41b8308,c491b0bc,dbec3d8c,c074cba1,c41b8308,0,c491b100,d
bec3dd0,c074dedc,0) at netbsd:ttm_bus_dma_unpopulate+0x40
ttm_tt_destroy(c41b8308,0,c491b100,dbec3dd0,c074dedc,0,0,0,1,c491b100) at netbsd
:ttm_tt_destroy+0x49
ttm_bo_cleanup_memtype_use(0,0,0,1,c491b100,1,0,c3e0aa55,c3268b0c,c0b1f980) at n
etbsd:ttm_bo_cleanup_memtype_use+0x41
ttm_bo_release(c491b100,0,0,1,c491b218,dbec3dfc,c061ac90,dbec3df8,c491b08c,dbec3
e24) at netbsd:ttm_bo_release+0x28c
radeon_bo_unref(dbec3df8,c491b08c,dbec3e24,c0291dd2,c491b218,ffffffff,c029caf5,c
491b260,c48a9488,c3e521f8) at netbsd:radeon_bo_unref+0x40
radeon_gem_object_free(c491b218,ffffffff,c029caf5,c491b260,c48a9488,c3e521f8,c3e
52224,c491b218,dbec3e44,c02921f7) at netbsd:radeon_gem_object_free+0x20
drm_gem_object_handle_unreference_unlocked(c491b218,c3e521f8,c375b70c,c08e8634,c
3e521f8,c375b70c,dbec3e70,c028b1bd,c3e521f8,7) at netbsd:drm_gem_object_handle_u
nreference_unlocked+0x92
drm_gem_handle_delete(c3e521f8,7,c3e521f8,dbec3e74,c06f3bcc,1,dbec3f68,c4113380,
0,dbec3f3c) at netbsd:drm_gem_handle_delete+0x87
drm_ioctl(c4113380,80086409,dbec3eb0,e020206f,c388237c,c1b72478,1,0,8,0) at netb
sd:drm_ioctl+0x11d
sys_ioctl(c3811560,dbec3f68,dbec3f60,0,c361cc6c,c0b126c8,dbec3f68,0,0,b) at netb
sd:sys_ioctl+0x1ae
syscall() at netbsd:syscall+0x82
--- syscall (number 54) ---
bb77af07:
db{0}> sh reg
ds          c06f0010    extent_alloc_region_descriptor+0xf0
es          dbec0010
fs          30
gs          c0950010    kmem_cache_sizes+0x90
edi         dbec3d24
esi         c095f8cc    ostype+0x9ea
ebp         dbec3ce4
ebx         104
edx         1
ecx         0
eax         1
eip         c02516b4    breakpoint+0x4
cs          8
eflags      3246
esp         dbec3ce4
ss          10
netbsd:breakpoint+0x4:  popl    %ebp
db{0}>

--
|/"\ John D. Baker, KN5UKS               NetBSD     Darwin/MacOS X
|\ / jdbaker[snail]mylinuxisp[flyspeck]com    OpenBSD            FreeBSD
| X  No HTML/proprietary data in email.   BSD just sits there and works!
|/ \ GPGkeyID:  D703 4A7E 479F 63F8 D3F4  BD99 9572 8F23 E4AD 1645

Reading symbols from /netbsd.gdb...done.
Load new symbol table from "/netbsd.gdb"? (y or n) Reading symbols from /netbsd.gdb...done.
0xffffffff80689dcf in cpu_reboot (howto=howto@entry=260, bootstr=bootstr@entry=0x0) at ../../../../arch/amd64/amd64/machdep.c:671
671	../../../../arch/amd64/amd64/machdep.c: No such file or directory.
#0  0xffffffff80689dcf in cpu_reboot (howto=howto@entry=260, bootstr=bootstr@entry=0x0) at ../../../../arch/amd64/amd64/machdep.c:671
#1  0xffffffff808cec84 in vpanic (fmt=0xffffffff80d187e0 "kernel %sassertion \"%s\" failed: file \"%s\", line %d ", ap=ap@entry=0xfffffe8046582bb8) at ../../../../kern/subr_prf.c:340
#2  0xffffffff80a6b163 in kern_assert (fmt=fmt@entry=0xffffffff80d187e0 "kernel %sassertion \"%s\" failed: file \"%s\", line %d ") at ../../../../../../lib/libkern/kern_assert.c:51
#3  0xffffffff8092b119 in ttm_tt_swapout (ttm=ttm@entry=0xfffffe80cc713708, persistent_swap_storage=persistent_swap_storage@entry=0x0) at ../../../../external/bsd/drm2/dist/drm/ttm/ttm_tt.c:423
#4  0xffffffff8092a035 in ttm_bus_dma_unpopulate (ttm_dma=0xfffffe80cc713708) at ../../../../external/bsd/drm2/ttm/ttm_bus_dma.c:86
#5  0xffffffff8092abb5 in ttm_tt_unpopulate (ttm=0xfffffe80cc713708) at ../../../../external/bsd/drm2/dist/drm/ttm/ttm_tt.c:517
#6  ttm_tt_destroy (ttm=0xfffffe80cc713708) at ../../../../external/bsd/drm2/dist/drm/ttm/ttm_tt.c:182
#7  0xffffffff80924eb3 in ttm_bo_cleanup_memtype_use (bo=0xfffffe80ce5ee058) at ../../../../external/bsd/drm2/dist/drm/ttm/ttm_bo.c:429
#8  0xffffffff80926348 in ttm_bo_cleanup_refs_or_queue (bo=0xfffffe80ce5ee058) at ../../../../external/bsd/drm2/dist/drm/ttm/ttm_bo.c:456
#9  ttm_bo_release (kref=0xfffffe80ce5ee0d8) at ../../../../external/bsd/drm2/dist/drm/ttm/ttm_bo.c:673
#10 0xffffffff8092646b in kref_sub (release=0xffffffff809260bc <ttm_bo_release>, count=1, kref=<optimized out>) at ../../../../external/bsd/drm2/include/linux/kref.h:88
#11 kref_put (release=0xffffffff809260bc <ttm_bo_release>, kref=<optimized out>) at ../../../../external/bsd/drm2/include/linux/kref.h:99
#12 ttm_bo_unref (p_bo=p_bo@entry=0xfffffe8046582ce8) at ../../../../external/bsd/drm2/dist/drm/ttm/ttm_bo.c:682
#13 0xffffffff807d132c in radeon_bo_unref (bo=bo@entry=0xfffffe8046582d10) at ../../../../external/bsd/drm2/dist/drm/radeon/radeon_object.c:249
#14 0xffffffff807c6c76 in radeon_gem_object_free (gobj=<optimized out>) at ../../../../external/bsd/drm2/dist/drm/radeon/radeon_gem.c:41
#15 0xffffffff802d1c04 in kref_put_mutex (release=0xffffffff802d1b10 <drm_gem_object_free>, interlock=0xfffffe80cec8d078, kref=0xfffffe80ce5ee2e0) at ../../../../external/bsd/drm2/include/linux/kref.h:114
#16 drm_gem_object_unreference_unlocked (obj=0xfffffe80ce5ee2e0) at ../../../../external/bsd/drm2/dist/include/drm/drmP.h:1814
#17 drm_gem_object_handle_unreference_unlocked (obj=0xfffffe80ce5ee2e0) at ../../../../external/bsd/drm2/dist/drm/drm_gem.c:281
#18 0xffffffff802d1f82 in drm_gem_handle_delete (filp=0xfffffe80cca90b08, handle=7) at ../../../../external/bsd/drm2/dist/drm/drm_gem.c:327
#19 0xffffffff802cb3bc in drm_ioctl (fp=<optimized out>, cmd=<optimized out>, data=0xfffffe8046582df8) at ../../../../external/bsd/drm2/drm/drm_drv.c:662
#20 0xffffffff808e1619 in sys_ioctl (l=<optimized out>, uap=0xfffffe8046582f00, retval=<optimized out>) at ../../../../kern/sys_generic.c:681
#21 0xffffffff808ec51a in sy_call (rval=0xfffffe8046582eb8, uap=0xfffffe8046582f00, l=0xfffffe80cd9d06c0, sy=0xffffffff810d5e20 <sysent+864>) at ../../../../sys/syscallvar.h:61
#22 sy_invoke (code=54, rval=0xfffffe8046582eb8, uap=0xfffffe8046582f00, l=0xfffffe80cd9d06c0, sy=0xffffffff810d5e20 <sysent+864>) at ../../../../sys/syscallvar.h:85
#23 syscall (frame=0xfffffe8046582f00) at ../../../../arch/x86/x86/syscall.c:156
#24 0xffffffff80100691 in Xsyscall ()
666	in ../../../../arch/amd64/amd64/machdep.c
rax            <unavailable>
rbx            0x104	260
rcx            <unavailable>
rdx            <unavailable>
rsi            <unavailable>
rdi            <unavailable>
rbp            0xfffffe8046582b80	0xfffffe8046582b80
rsp            0xfffffe8046582b70	0xfffffe8046582b70
r8             <unavailable>
r9             <unavailable>
r10            <unavailable>
r11            <unavailable>
r12            0x7	7
r13            0xfffffe8046582bb8	-1648087258184
r14            0xffffffff810f0160	-2129723040
r15            0xffff800005e7bac0	-140737389282624
rip            0xffffffff80689dcf	0xffffffff80689dcf <cpu_reboot+457>
eflags         <unavailable>
cs             <unavailable>
ss             <unavailable>
ds             <unavailable>
es             <unavailable>
fs             0x0	0
gs             0x0	0
st0            <unavailable>
st1            <unavailable>
st2            <unavailable>
st3            <unavailable>
st4            <unavailable>
st5            <unavailable>
st6            <unavailable>
st7            <unavailable>
fctrl          <unavailable>
fstat          <unavailable>
ftag           <unavailable>
fiseg          <unavailable>
fioff          <unavailable>
foseg          <unavailable>
fooff          <unavailable>
fop            <unavailable>
xmm0           {v4_float = {<unavailable>, <unavailable>, <unavailable>, <unavailable>}, v2_double = {<unavailable>, <unavailable>}, v16_int8 = {<unavailable> <repeats 16 times>}, v8_int16 = {<unavailable>, 
    <unavailable>, <unavailable>, <unavailable>, <unavailable>, <unavailable>, <unavailable>, <unavailable>}, v4_int32 = {<unavailable>, <unavailable>, <unavailable>, <unavailable>}, v2_int64 = {<unavailable>, 
    <unavailable>}, uint128 = <unavailable>}
xmm1           {v4_float = {<unavailable>, <unavailable>, <unavailable>, <unavailable>}, v2_double = {<unavailable>, <unavailable>}, v16_int8 = {<unavailable> <repeats 16 times>}, v8_int16 = {<unavailable>, 
    <unavailable>, <unavailable>, <unavailable>, <unavailable>, <unavailable>, <unavailable>, <unavailable>}, v4_int32 = {<unavailable>, <unavailable>, <unavailable>, <unavailable>}, v2_int64 = {<unavailable>, 
    <unavailable>}, uint128 = <unavailable>}
xmm2           {v4_float = {<unavailable>, <unavailable>, <unavailable>, <unavailable>}, v2_double = {<unavailable>, <unavailable>}, v16_int8 = {<unavailable> <repeats 16 times>}, v8_int16 = {<unavailable>, 
    <unavailable>, <unavailable>, <unavailable>, <unavailable>, <unavailable>, <unavailable>, <unavailable>}, v4_int32 = {<unavailable>, <unavailable>, <unavailable>, <unavailable>}, v2_int64 = {<unavailable>, 
    <unavailable>}, uint128 = <unavailable>}
xmm3           {v4_float = {<unavailable>, <unavailable>, <unavailable>, <unavailable>}, v2_double = {<unavailable>, <unavailable>}, v16_int8 = {<unavailable> <repeats 16 times>}, v8_int16 = {<unavailable>, 
    <unavailable>, <unavailable>, <unavailable>, <unavailable>, <unavailable>, <unavailable>, <unavailable>}, v4_int32 = {<unavailable>, <unavailable>, <unavailable>, <unavailable>}, v2_int64 = {<unavailable>, 
    <unavailable>}, uint128 = <unavailable>}
xmm4           {v4_float = {<unavailable>, <unavailable>, <unavailable>, <unavailable>}, v2_double = {<unavailable>, <unavailable>}, v16_int8 = {<unavailable> <repeats 16 times>}, v8_int16 = {<unavailable>, 
    <unavailable>, <unavailable>, <unavailable>, <unavailable>, <unavailable>, <unavailable>, <unavailable>}, v4_int32 = {<unavailable>, <unavailable>, <unavailable>, <unavailable>}, v2_int64 = {<unavailable>, 
    <unavailable>}, uint128 = <unavailable>}
xmm5           {v4_float = {<unavailable>, <unavailable>, <unavailable>, <unavailable>}, v2_double = {<unavailable>, <unavailable>}, v16_int8 = {<unavailable> <repeats 16 times>}, v8_int16 = {<unavailable>, 
    <unavailable>, <unavailable>, <unavailable>, <unavailable>, <unavailable>, <unavailable>, <unavailable>}, v4_int32 = {<unavailable>, <unavailable>, <unavailable>, <unavailable>}, v2_int64 = {<unavailable>, 
    <unavailable>}, uint128 = <unavailable>}
xmm6           {v4_float = {<unavailable>, <unavailable>, <unavailable>, <unavailable>}, v2_double = {<unavailable>, <unavailable>}, v16_int8 = {<unavailable> <repeats 16 times>}, v8_int16 = {<unavailable>, 
    <unavailable>, <unavailable>, <unavailable>, <unavailable>, <unavailable>, <unavailable>, <unavailable>}, v4_int32 = {<unavailable>, <unavailable>, <unavailable>, <unavailable>}, v2_int64 = {<unavailable>, 
    <unavailable>}, uint128 = <unavailable>}
xmm7           {v4_float = {<unavailable>, <unavailable>, <unavailable>, <unavailable>}, v2_double = {<unavailable>, <unavailable>}, v16_int8 = {<unavailable> <repeats 16 times>}, v8_int16 = {<unavailable>, 
    <unavailable>, <unavailable>, <unavailable>, <unavailable>, <unavailable>, <unavailable>, <unavailable>}, v4_int32 = {<unavailable>, <unavailable>, <unavailable>, <unavailable>}, v2_int64 = {<unavailable>, 
    <unavailable>}, uint128 = <unavailable>}
xmm8           {v4_float = {<unavailable>, <unavailable>, <unavailable>, <unavailable>}, v2_double = {<unavailable>, <unavailable>}, v16_int8 = {<unavailable> <repeats 16 times>}, v8_int16 = {<unavailable>, 
    <unavailable>, <unavailable>, <unavailable>, <unavailable>, <unavailable>, <unavailable>, <unavailable>}, v4_int32 = {<unavailable>, <unavailable>, <unavailable>, <unavailable>}, v2_int64 = {<unavailable>, 
    <unavailable>}, uint128 = <unavailable>}
xmm9           {v4_float = {<unavailable>, <unavailable>, <unavailable>, <unavailable>}, v2_double = {<unavailable>, <unavailable>}, v16_int8 = {<unavailable> <repeats 16 times>}, v8_int16 = {<unavailable>, 
    <unavailable>, <unavailable>, <unavailable>, <unavailable>, <unavailable>, <unavailable>, <unavailable>}, v4_int32 = {<unavailable>, <unavailable>, <unavailable>, <unavailable>}, v2_int64 = {<unavailable>, 
    <unavailable>}, uint128 = <unavailable>}
xmm10          {v4_float = {<unavailable>, <unavailable>, <unavailable>, <unavailable>}, v2_double = {<unavailable>, <unavailable>}, v16_int8 = {<unavailable> <repeats 16 times>}, v8_int16 = {<unavailable>, 
    <unavailable>, <unavailable>, <unavailable>, <unavailable>, <unavailable>, <unavailable>, <unavailable>}, v4_int32 = {<unavailable>, <unavailable>, <unavailable>, <unavailable>}, v2_int64 = {<unavailable>, 
    <unavailable>}, uint128 = <unavailable>}
xmm11          {v4_float = {<unavailable>, <unavailable>, <unavailable>, <unavailable>}, v2_double = {<unavailable>, <unavailable>}, v16_int8 = {<unavailable> <repeats 16 times>}, v8_int16 = {<unavailable>, 
    <unavailable>, <unavailable>, <unavailable>, <unavailable>, <unavailable>, <unavailable>, <unavailable>}, v4_int32 = {<unavailable>, <unavailable>, <unavailable>, <unavailable>}, v2_int64 = {<unavailable>, 
    <unavailable>}, uint128 = <unavailable>}
xmm12          {v4_float = {<unavailable>, <unavailable>, <unavailable>, <unavailable>}, v2_double = {<unavailable>, <unavailable>}, v16_int8 = {<unavailable> <repeats 16 times>}, v8_int16 = {<unavailable>, 
    <unavailable>, <unavailable>, <unavailable>, <unavailable>, <unavailable>, <unavailable>, <unavailable>}, v4_int32 = {<unavailable>, <unavailable>, <unavailable>, <unavailable>}, v2_int64 = {<unavailable>, 
    <unavailable>}, uint128 = <unavailable>}
xmm13          {v4_float = {<unavailable>, <unavailable>, <unavailable>, <unavailable>}, v2_double = {<unavailable>, <unavailable>}, v16_int8 = {<unavailable> <repeats 16 times>}, v8_int16 = {<unavailable>, 
    <unavailable>, <unavailable>, <unavailable>, <unavailable>, <unavailable>, <unavailable>, <unavailable>}, v4_int32 = {<unavailable>, <unavailable>, <unavailable>, <unavailable>}, v2_int64 = {<unavailable>, 
    <unavailable>}, uint128 = <unavailable>}
xmm14          {v4_float = {<unavailable>, <unavailable>, <unavailable>, <unavailable>}, v2_double = {<unavailable>, <unavailable>}, v16_int8 = {<unavailable> <repeats 16 times>}, v8_int16 = {<unavailable>, 
    <unavailable>, <unavailable>, <unavailable>, <unavailable>, <unavailable>, <unavailable>, <unavailable>}, v4_int32 = {<unavailable>, <unavailable>, <unavailable>, <unavailable>}, v2_int64 = {<unavailable>, 
    <unavailable>}, uint128 = <unavailable>}
xmm15          {v4_float = {<unavailable>, <unavailable>, <unavailable>, <unavailable>}, v2_double = {<unavailable>, <unavailable>}, v16_int8 = {<unavailable> <repeats 16 times>}, v8_int16 = {<unavailable>, 
    <unavailable>, <unavailable>, <unavailable>, <unavailable>, <unavailable>, <unavailable>, <unavailable>}, v4_int32 = {<unavailable>, <unavailable>, <unavailable>, <unavailable>}, v2_int64 = {<unavailable>, 
    <unavailable>}, uint128 = <unavailable>}
mxcsr          <unavailable>
(gdb) quit

Attachment: dmesg.boot
Description: Binary data

Attachment: Xorg.0.log
Description: Binary data



Home | Main Index | Thread Index | Old Index