* [9fans] 9vx instability @ 2011-11-21 8:31 Anton 2011-11-21 8:39 ` Alexander Kapshuk ` (3 more replies) 0 siblings, 4 replies; 92+ messages in thread From: Anton @ 2011-11-21 8:31 UTC (permalink / raw) To: 9fans [-- Attachment #1: Type: text/plain, Size: 1833 bytes --] Hello all, Recently I've discovered Plan 9 and I'm fascinated by it's numerous beauties, and I want to try it for more or less regular use, probably port something. However, as it won't work on my laptop natively, i'm forced to use 9vx (running in kvm is too slow). It has one magor drawback - it is freezing my entire system after some random time. Symptoms are - no reaction on input (mouse/keyboard), no changes in output (screen is showing me what was going on just before freeze). The only thing I can do is to press power button for 10 secs and wait until my laptop turned off. I've tried to find the reasons of this behaviour, but all system logs are silent - last kernel.log messages are prior to hang, the same with messages.log and Xorg.log, console output from 9vx are empty, too. What causes the hang is also seems unclear - it can froze on 9vx startup, or when I use terminal, or installing something, or just browsing web (not in 9vx) in chrome, while 9vx window is hidden. My system: Linux hippo 3.0-ARCH #1 SMP PREEMPT Wed Oct 19 12:14:48 UTC 2011 i686 Intel(R) Core(TM) Duo CPU T2600 @ 2.16GHz GenuineIntel GNU/Linux (Archlinux) 9vx-hg (checked out 2011.11.17) - cmd line (9vx -r 9front -u glenda) 9front iso image - 9front-1131.664b953bfdde (I've copied it's contents and `chmod -R u+w`ed it) xf86-video-intel 2.16.0 - VGA compatible controller: Intel Corporation Mobile 945GME Express Integrated Graphics Controller (rev 03) xorg-server 1.11.2 xorg-apps 7.6 Also, I've seen the following message for a few times: "9vx panic: sigsegv on cpu7", but I don't know if it related to freeze (it can show up in the middle of my boot-work-freeze session). Previously, I've used stock Plan 9 from Bell Labs with 9vx - it has the same problem. P.S.: Sorry for my English. Anton. [-- Attachment #2: Type: text/html, Size: 2094 bytes --] ^ permalink raw reply [flat|nested] 92+ messages in thread
* Re: [9fans] 9vx instability 2011-11-21 8:31 [9fans] 9vx instability Anton @ 2011-11-21 8:39 ` Alexander Kapshuk 2011-11-21 9:08 ` Akshat Kumar ` (2 subsequent siblings) 3 siblings, 0 replies; 92+ messages in thread From: Alexander Kapshuk @ 2011-11-21 8:39 UTC (permalink / raw) To: Fans of the OS Plan 9 from Bell Labs [-- Attachment #1: Type: text/plain, Size: 2160 bytes --] have you considered running plan 9 from within virtualbox? plan 9 seems to be fairly responsive running within the latest version of virtualbox on debian squeeze here. On Mon, Nov 21, 2011 at 10:31 AM, Anton <fluffylime@gmail.com> wrote: > Hello all, > > Recently I've discovered Plan 9 and I'm fascinated by it's numerous > beauties, and I want to try it for more or less regular use, probably port > something. > > However, as it won't work on my laptop natively, i'm forced to use 9vx > (running in kvm is too slow). It has one magor drawback - it is freezing my > entire system after some random time. > Symptoms are - no reaction on input (mouse/keyboard), no changes in output > (screen is showing me what was going on just before freeze). The only thing > I can do is to press power button for 10 secs and wait until my laptop > turned off. > I've tried to find the reasons of this behaviour, but all system logs are > silent - last kernel.log messages are prior to hang, the same with > messages.log and Xorg.log, console output from 9vx are empty, too. What > causes the hang is also seems unclear - it can froze on 9vx startup, or > when I use terminal, or installing something, or just browsing web (not in > 9vx) in chrome, while 9vx window is hidden. > My system: > Linux hippo 3.0-ARCH #1 SMP PREEMPT Wed Oct 19 12:14:48 UTC 2011 i686 > Intel(R) Core(TM) Duo CPU T2600 @ 2.16GHz GenuineIntel GNU/Linux (Archlinux) > 9vx-hg (checked out 2011.11.17) - cmd line (9vx -r 9front -u glenda) > 9front iso image - 9front-1131.664b953bfdde (I've copied it's contents and > `chmod -R u+w`ed it) > xf86-video-intel 2.16.0 - VGA compatible controller: Intel Corporation > Mobile 945GME Express Integrated Graphics Controller (rev 03) > xorg-server 1.11.2 > xorg-apps 7.6 > > Also, I've seen the following message for a few times: "9vx panic: sigsegv > on cpu7", but I don't know if it related to freeze (it can show up in the > middle of my boot-work-freeze session). > > Previously, I've used stock Plan 9 from Bell Labs with 9vx - it has the > same problem. > > P.S.: Sorry for my English. > > Anton. > [-- Attachment #2: Type: text/html, Size: 2618 bytes --] ^ permalink raw reply [flat|nested] 92+ messages in thread
* Re: [9fans] 9vx instability 2011-11-21 8:31 [9fans] 9vx instability Anton 2011-11-21 8:39 ` Alexander Kapshuk @ 2011-11-21 9:08 ` Akshat Kumar 2011-11-21 9:23 ` Anthony Martin 2011-11-21 11:01 ` yy 3 siblings, 0 replies; 92+ messages in thread From: Akshat Kumar @ 2011-11-21 9:08 UTC (permalink / raw) To: Fans of the OS Plan 9 from Bell Labs What are the problems with trying to boot it natively (by the way, you probably won't be able to drive the wireless card, if you do get it to boot native)? Have you tried Erik Quanstro's 9atom kernel? ak On Mon, Nov 21, 2011 at 12:31 AM, Anton <fluffylime@gmail.com> wrote: > Hello all, > Recently I've discovered Plan 9 and I'm fascinated by it's numerous > beauties, and I want to try it for more or less regular use, probably port > something. > However, as it won't work on my laptop natively, i'm forced to use 9vx > (running in kvm is too slow). It has one magor drawback - it is freezing my > entire system after some random time. > Symptoms are - no reaction on input (mouse/keyboard), no changes in output > (screen is showing me what was going on just before freeze). The only thing > I can do is to press power button for 10 secs and wait until my laptop > turned off. > I've tried to find the reasons of this behaviour, but all system logs are > silent - last kernel.log messages are prior to hang, the same with > messages.log and Xorg.log, console output from 9vx are empty, too. What > causes the hang is also seems unclear - it can froze on 9vx startup, or when > I use terminal, or installing something, or just browsing web (not in 9vx) > in chrome, while 9vx window is hidden. > My system: > Linux hippo 3.0-ARCH #1 SMP PREEMPT Wed Oct 19 12:14:48 UTC 2011 i686 > Intel(R) Core(TM) Duo CPU T2600 @ 2.16GHz GenuineIntel GNU/Linux (Archlinux) > 9vx-hg (checked out 2011.11.17) - cmd line (9vx -r 9front -u glenda) > 9front iso image - 9front-1131.664b953bfdde (I've copied it's contents and > `chmod -R u+w`ed it) > xf86-video-intel 2.16.0 - VGA compatible controller: Intel Corporation > Mobile 945GME Express Integrated Graphics Controller (rev 03) > xorg-server 1.11.2 > xorg-apps 7.6 > Also, I've seen the following message for a few times: "9vx panic: sigsegv > on cpu7", but I don't know if it related to freeze (it can show up in the > middle of my boot-work-freeze session). > Previously, I've used stock Plan 9 from Bell Labs with 9vx - it has the same > problem. > P.S.: Sorry for my English. > Anton. ^ permalink raw reply [flat|nested] 92+ messages in thread
* Re: [9fans] 9vx instability 2011-11-21 8:31 [9fans] 9vx instability Anton 2011-11-21 8:39 ` Alexander Kapshuk 2011-11-21 9:08 ` Akshat Kumar @ 2011-11-21 9:23 ` Anthony Martin 2011-11-21 21:13 ` yy 2011-11-21 11:01 ` yy 3 siblings, 1 reply; 92+ messages in thread From: Anthony Martin @ 2011-11-21 9:23 UTC (permalink / raw) To: Fans of the OS Plan 9 from Bell Labs Anton <fluffylime@gmail.com> once said: > However, as it won't work on my laptop natively, i'm > forced to use 9vx (running in kvm is too slow). It has > one magor drawback - it is freezing my entire system > after some random time. Symptoms are - no reaction on > input (mouse/keyboard), no changes in output (screen is > showing me what was going on just before freeze). The > only thing I can do is to press power button for 10 secs > and wait until my laptop turned off. I had this happen to me a few times but I never took the time to track it down. I haven't had it happen since I upgraded my kernel to 3.1. We seem to have very simliar setups so you might want to try that and see if it makes a difference. $ uname -mp i686 Intel(R) Core(TM)2 CPU T7400 @ 2.16GHz $ pacman -Q linux linux 3.1.1-1 $ > P.S.: Sorry for my English. Seems fine to me. :-) Cheers, Anthony ^ permalink raw reply [flat|nested] 92+ messages in thread
* Re: [9fans] 9vx instability 2011-11-21 9:23 ` Anthony Martin @ 2011-11-21 21:13 ` yy 0 siblings, 0 replies; 92+ messages in thread From: yy @ 2011-11-21 21:13 UTC (permalink / raw) To: Fans of the OS Plan 9 from Bell Labs 2011/11/21 Anthony Martin <ality@pbrane.org>: > I had this happen to me a few times but I never > took the time to track it down. I haven't had > it happen since I upgraded my kernel to 3.1. I can confirm this. I don't know how to be sure it is solved, but the problem used to appear after a few minutes of use and, after updating to 3.1, everything has been running fine for a few hours. It would be interesting to know what has changed. I don't think it was a bug in the kernel, since it only happened when running 9vx, but I don't really have the time to investigate it now. Thanks to Anthony for the tip! -- - yiyus || JGL . ^ permalink raw reply [flat|nested] 92+ messages in thread
* Re: [9fans] 9vx instability 2011-11-21 8:31 [9fans] 9vx instability Anton ` (2 preceding siblings ...) 2011-11-21 9:23 ` Anthony Martin @ 2011-11-21 11:01 ` yy 2011-11-21 11:17 ` Jens Staal 3 siblings, 1 reply; 92+ messages in thread From: yy @ 2011-11-21 11:01 UTC (permalink / raw) To: Fans of the OS Plan 9 from Bell Labs 2011/11/21 Anton <fluffylime@gmail.com>: > Linux hippo 3.0-ARCH #1 SMP PREEMPT Wed Oct 19 12:14:48 UTC 2011 i686 > Intel(R) Core(TM) Duo CPU T2600 @ 2.16GHz GenuineIntel GNU/Linux (Archlinux) You may try booting an older kernel. I've had similar problems since I updated my main arch system to linux 3.0, but I've not had the time to track it down. Since everything freezes, it is indeed difficult to find out. I will try a 3.1 kernel to see if that fixes the problem, as Anthony is suggesting, and will let you know. For the moment, what I do is using tinycore from an usb instead (by the way, tc's linux 3.0 works just fine). I also keep another arch system without updating just because of this. > 9vx-hg (checked out 2011.11.17) - cmd line (9vx -r 9front -u glenda) > 9front iso image - 9front-1131.664b953bfdde (I've copied it's contents and > `chmod -R u+w`ed it) If you are using a modern version of 9vx (rminnich's repository at bitbucket) you don't need to copy the contents of the iso, you can just run 9vx with -r 9front.iso. -- - yiyus || JGL . ^ permalink raw reply [flat|nested] 92+ messages in thread
* Re: [9fans] 9vx instability 2011-11-21 11:01 ` yy @ 2011-11-21 11:17 ` Jens Staal 2011-11-21 11:56 ` yy ` (3 more replies) 0 siblings, 4 replies; 92+ messages in thread From: Jens Staal @ 2011-11-21 11:17 UTC (permalink / raw) To: Fans of the OS Plan 9 from Bell Labs On 11/21/11 12:01, yy wrote: >> 9vx-hg (checked out 2011.11.17) - cmd line (9vx -r 9front -u glenda) >> 9front iso image - 9front-1131.664b953bfdde (I've copied it's contents and >> `chmod -R u+w`ed it) > If you are using a modern version of 9vx (rminnich's repository at > bitbucket) you don't need to copy the contents of the iso, you can > just run 9vx with -r 9front.iso. That sounds very interesting! I packaged 9vx in AUR ( https://aur.archlinux.org/packages.php?ID=49816) and tried to put up a wiki ( https://wiki.archlinux.org/index.php/9vx). I have done some rather stupid suggestions about how to deal with permissions and other stuff like that... What I would like to know is if you can boot a plan9 system from iso via 9vx as "persistent" partition whereas changes are saved to another directory (so basically setting up a union mount between the iso and a directory) - alternatively specifying an alternative path for $home using 9vx booting from an iso. ^ permalink raw reply [flat|nested] 92+ messages in thread
* Re: [9fans] 9vx instability 2011-11-21 11:17 ` Jens Staal @ 2011-11-21 11:56 ` yy 2011-11-21 12:14 ` Anton ` (2 subsequent siblings) 3 siblings, 0 replies; 92+ messages in thread From: yy @ 2011-11-21 11:56 UTC (permalink / raw) To: Fans of the OS Plan 9 from Bell Labs 2011/11/21 Jens Staal <staal1978@gmail.com>: > What I would like to know is if you can boot a plan9 system from iso via 9vx > as "persistent" partition whereas changes are saved to another directory (so > basically setting up a union mount between the iso and a directory) - > alternatively specifying an alternative path for $home using 9vx booting > from an iso. > > I do something along those lines. I use a sh script to boot from the iso and bind a sysfromiso repository and usr/ from my home directory. You could use bin/9vxp in the repository if that's good enough for you or, in any case, look at it for inspiration on how to use the -i flag. If you prefer, you can use a .ini file and set initargs there, instead of using -i. Read the 9vx man page (included in the repository and also at https://bytebucket.org/yiyus/vx32/wiki/9vx.html). -- - yiyus || JGL . ^ permalink raw reply [flat|nested] 92+ messages in thread
* Re: [9fans] 9vx instability 2011-11-21 11:17 ` Jens Staal 2011-11-21 11:56 ` yy @ 2011-11-21 12:14 ` Anton 2011-11-21 19:58 ` Federico G. Benavento 2011-11-21 14:46 ` Sergey Kish 2011-11-27 13:39 ` yy 3 siblings, 1 reply; 92+ messages in thread From: Anton @ 2011-11-21 12:14 UTC (permalink / raw) To: Fans of the OS Plan 9 from Bell Labs [-- Attachment #1: Type: text/plain, Size: 1593 bytes --] Wow, so many replies :) > have you considered running plan 9 from within virtualbox? I've not tried it yet, since the are a lot mentions that Plan 9 is slow under vb, but I'll try it if nothing helps. > What are the problems with trying to boot it natively? As you correctly suggested, my wireless card isn't supported and connecting laptop through the Ethernet cable to my router located in another room is somewhat inconvenient. Also, I'm not sure if my video card (GMA 950 as listed in specs or 945GME as lspci says) works right (uhm, should I try realemu?) Of course, I'll be glad if I'm wrong with this incompatibilities. > Have you tried Erik Quanstro's 9atom kernel? Nope. I'll give it a try. Actually, I've seen 9atom page, but I didn't find any difference in hardware support viable for my notebook. And I didn't understand much on other differences at this moment. > I haven't had it happen since I upgraded my kernel to 3.1. Great! I'll upgrade it this evening. > For the moment, what I do is using tinycore from an usb instead (by > the way, tc's linux 3.0 works just fine). Hm, sounds interesting - thanks for suggestion! > If you are using a modern version of 9vx (rminnich's repository at > bitbucket) you don't need to copy the contents of the iso, you can > just run 9vx with -r 9front.iso. But I will not be able to modify fs, right? On the other hand, I can mount/bind additional / to save changes there (as Jens suggested). Good. Btw, should I mount the whole / or just some sub-directories? Thanks for suggestions! Anton. [-- Attachment #2: Type: text/html, Size: 5706 bytes --] ^ permalink raw reply [flat|nested] 92+ messages in thread
* Re: [9fans] 9vx instability 2011-11-21 12:14 ` Anton @ 2011-11-21 19:58 ` Federico G. Benavento 0 siblings, 0 replies; 92+ messages in thread From: Federico G. Benavento @ 2011-11-21 19:58 UTC (permalink / raw) To: Anton; +Cc: Fans of the OS Plan 9 from Bell Labs On Nov 21, 2011, at 9:14 AM, Anton wrote: > > What are the problems with trying to boot it natively? > As you correctly suggested, my wireless card isn't supported and connecting laptop through the Ethernet cable to my router located in another room is somewhat inconvenient. Also, I'm not sure if my video card (GMA 950 as listed in specs or 945GME as lspci says) works right (uhm, should I try realemu?) > Of course, I'll be glad if I'm wrong with this incompatibilities. > the graphics card works, I used to have it a 1280x800x32 in a compaq pressario > > Have you tried Erik Quanstro's 9atom kernel? > Nope. I'll give it a try. Actually, I've seen 9atom page, but I didn't find any difference in hardware support viable for my notebook. And I didn't understand much on other differences at this moment. it's not about the hardware support list, it's about the hardware listed actually working so, yes 9atom ^ permalink raw reply [flat|nested] 92+ messages in thread
* Re: [9fans] 9vx instability 2011-11-21 11:17 ` Jens Staal 2011-11-21 11:56 ` yy 2011-11-21 12:14 ` Anton @ 2011-11-21 14:46 ` Sergey Kish 2011-11-21 14:51 ` Sergey Kish 2011-11-21 15:04 ` Jens Staal 2011-11-27 13:39 ` yy 3 siblings, 2 replies; 92+ messages in thread From: Sergey Kish @ 2011-11-21 14:46 UTC (permalink / raw) To: Fans of the OS Plan 9 from Bell Labs Jens, vx32-hg is already in AUR http://aur.archlinux.org/packages.php?ID=28147Maybe it should use rminnich/vx32 repo by default /_hgroot/c_hgroot="https://bitbucket.org/rminnich/vx32". On Mon, Nov 21, 2011 at 1:17 PM, Jens Staal <staal1978@gmail.com> wrote: > On 11/21/11 12:01, yy wrote: >>> >>> 9vx-hg (checked out 2011.11.17) - cmd line (9vx -r 9front -u glenda) >>> 9front iso image - 9front-1131.664b953bfdde (I've copied it's contents >>> and >>> `chmod -R u+w`ed it) >> >> If you are using a modern version of 9vx (rminnich's repository at >> bitbucket) you don't need to copy the contents of the iso, you can >> just run 9vx with -r 9front.iso. > > That sounds very interesting! I packaged 9vx in AUR ( > https://aur.archlinux.org/packages.php?ID=49816) and tried to put up a wiki > ( https://wiki.archlinux.org/index.php/9vx). I have done some rather stupid > suggestions about how to deal with permissions and other stuff like that... > > What I would like to know is if you can boot a plan9 system from iso via 9vx > as "persistent" partition whereas changes are saved to another directory (so > basically setting up a union mount between the iso and a directory) - > alternatively specifying an alternative path for $home using 9vx booting > from an iso. > > ^ permalink raw reply [flat|nested] 92+ messages in thread
* Re: [9fans] 9vx instability 2011-11-21 14:46 ` Sergey Kish @ 2011-11-21 14:51 ` Sergey Kish 2011-11-21 15:04 ` Jens Staal 1 sibling, 0 replies; 92+ messages in thread From: Sergey Kish @ 2011-11-21 14:51 UTC (permalink / raw) To: Fans of the OS Plan 9 from Bell Labs I love Gmail, vx32-hg is already in AUR http://aur.archlinux.org/packages.php?ID=28147 Maybe it should use rminnich/vx32 repo by default /_hgroot/c _hgroot="https://bitbucket.org/rminnich/vx32" . On Mon, Nov 21, 2011 at 4:46 PM, Sergey Kish <sergey.kish@gmail.com> wrote: > Jens, > vx32-hg is already in AUR > http://aur.archlinux.org/packages.php?ID=28147Maybe it should use > rminnich/vx32 repo by default > /_hgroot/c_hgroot="https://bitbucket.org/rminnich/vx32". ^ permalink raw reply [flat|nested] 92+ messages in thread
* Re: [9fans] 9vx instability 2011-11-21 14:46 ` Sergey Kish 2011-11-21 14:51 ` Sergey Kish @ 2011-11-21 15:04 ` Jens Staal 2011-11-21 15:49 ` ron minnich 1 sibling, 1 reply; 92+ messages in thread From: Jens Staal @ 2011-11-21 15:04 UTC (permalink / raw) To: Fans of the OS Plan 9 from Bell Labs 2011/11/21 Sergey Kish <sergey.kish@gmail.com>: > Jens, > vx32-hg is already in AUR > http://aur.archlinux.org/packages.php?ID=28147Maybe it should use > rminnich/vx32 repo by default > /_hgroot/c_hgroot="https://bitbucket.org/rminnich/vx32". http://aur.archlinux.org/packages.php?ID=28147 uses http://code.swtch.com/vx32 https://aur.archlinux.org/packages.php?ID=49816 uses https://bitbucket.org/rminnich/vx32 Another difference is that the second installs under a new directory in /opt and my plan was to add extensions under this directory (for example an installable plan9 rootfs) This is however Arch-specific discussions and probably not suitable for 9fans. The strategies of setting up a union-mounted rootfs with iso+directory with proper user permissions with 9vx (some standardized startup scripts) is far more interesting in general (and I was planning to put up an AUR automatically updating the rootfs with the plan9 daily build isos). I had once plans of trying to make an automated build of NIX as a PKGBUILD but I have not had time to look into how to do those things as 9vx arguments. ^ permalink raw reply [flat|nested] 92+ messages in thread
* Re: [9fans] 9vx instability 2011-11-21 15:04 ` Jens Staal @ 2011-11-21 15:49 ` ron minnich 2011-11-21 16:51 ` Charles Forsyth [not found] ` <CAOw7k5ijEpAGbQgbG94K3bCfOjTLGCKACRZBj60=-ra57FiXAg@mail.gmail.c> 0 siblings, 2 replies; 92+ messages in thread From: ron minnich @ 2011-11-21 15:49 UTC (permalink / raw) To: Fans of the OS Plan 9 from Bell Labs If you're on linux, you should consider kvm + kvmtool + plan 9. vx32 is incomplete. It has many problems. Nobody's had the time to really fix it. It's nice that it works but you should not assume that it's a solid piece of software; it's not. ron ^ permalink raw reply [flat|nested] 92+ messages in thread
* Re: [9fans] 9vx instability 2011-11-21 15:49 ` ron minnich @ 2011-11-21 16:51 ` Charles Forsyth 2011-11-21 17:09 ` Anton [not found] ` <CAOw7k5ijEpAGbQgbG94K3bCfOjTLGCKACRZBj60=-ra57FiXAg@mail.gmail.c> 1 sibling, 1 reply; 92+ messages in thread From: Charles Forsyth @ 2011-11-21 16:51 UTC (permalink / raw) To: Fans of the OS Plan 9 from Bell Labs i have to say my experience is quite different. % uname -aLinux pensomolto 3.0.0-12-generic #20-Ubuntu SMP Fri Oct 7 14:50:42 UTC 2011 i686 i686 i386 GNU/Linux ubuntu 11.10 but note that i use gnome not unity (because i want to use it). i use 9vx, and have done for years. i use it as both a development environment and a cross-development environment. since i fixed the direction flag bug (which should be in the hg copy) it has been just fine on my system. in fact, i use a fairly old version of russ's with that change, and one other small change, no others that i know. it runs at least for weeks, with fairly solid work during that time, all day. the plan 9 files are in the linux file system. usually linux packs up somehow before 9vx. my only practical problem so far is DNS, which i suppose must be single-threaded. ugh. ^ permalink raw reply [flat|nested] 92+ messages in thread
* Re: [9fans] 9vx instability 2011-11-21 16:51 ` Charles Forsyth @ 2011-11-21 17:09 ` Anton 2011-11-21 17:26 ` Jens Staal 0 siblings, 1 reply; 92+ messages in thread From: Anton @ 2011-11-21 17:09 UTC (permalink / raw) To: Fans of the OS Plan 9 from Bell Labs [-- Attachment #1: Type: text/plain, Size: 411 bytes --] > If you're on linux, you should consider kvm + kvmtool + plan 9 AFAIK, kvmtool wasn't integrated into 3.1. Is it stable/mature enough to run plan 9? > i have to say my experience is quite different Hm, that's odd. 9vx runs ok in ubuntu in tinycore, but not in arch. Maybe the thing is in Arch's kernel config or patches (although, stock kernel is quite vanilla...)? Are there Arch users to confirm? [-- Attachment #2: Type: text/html, Size: 914 bytes --] ^ permalink raw reply [flat|nested] 92+ messages in thread
* Re: [9fans] 9vx instability 2011-11-21 17:09 ` Anton @ 2011-11-21 17:26 ` Jens Staal 2011-11-21 18:24 ` ron minnich ` (3 more replies) 0 siblings, 4 replies; 92+ messages in thread From: Jens Staal @ 2011-11-21 17:26 UTC (permalink / raw) To: Fans of the OS Plan 9 from Bell Labs On 11/21/11 18:09, Anton wrote: > > If you're on linux, you should consider kvm + kvmtool + plan 9 > AFAIK, kvmtool wasn't integrated into 3.1. Is it stable/mature enough > to run plan 9? > > > i have to say my experience is quite different > Hm, that's odd. 9vx runs ok in ubuntu in tinycore, but not in arch. > Maybe the thing is in Arch's kernel config or patches (although, stock > kernel is quite vanilla...)? > Are there Arch users to confirm? I have not had any problems, but I run the 9vx-hg package (could be a vx32 version difference?). The freezing behaviour seems very strange - something with the WM? I run dwm now and KDE before and did not experience any freezes due to vx32 in either. The only crashes I have experienced have been some experimental compiles (never succeeded under 9vx) using the Plan9 port of GCC 3.0, but those crashes were quite graceful and did not bother the rest of my system. ^ permalink raw reply [flat|nested] 92+ messages in thread
* Re: [9fans] 9vx instability 2011-11-21 17:26 ` Jens Staal @ 2011-11-21 18:24 ` ron minnich 2011-11-21 18:35 ` Charles Forsyth 2011-11-21 20:20 ` Skip Tavakkolian ` (2 subsequent siblings) 3 siblings, 1 reply; 92+ messages in thread From: ron minnich @ 2011-11-21 18:24 UTC (permalink / raw) To: Fans of the OS Plan 9 from Bell Labs 9vx is very nice, I use it all the time, but it is also pretty easy for me to drive it into a corner such that simple commands don't have repeatable results -- memory corruption problems start to appear. If you are having troubles, it is not necessarily your fault, and you may be better off with a virtual machine instead of 9vx. ron ^ permalink raw reply [flat|nested] 92+ messages in thread
* Re: [9fans] 9vx instability 2011-11-21 18:24 ` ron minnich @ 2011-11-21 18:35 ` Charles Forsyth 2011-11-21 18:39 ` ron minnich 0 siblings, 1 reply; 92+ messages in thread From: Charles Forsyth @ 2011-11-21 18:35 UTC (permalink / raw) To: Fans of the OS Plan 9 from Bell Labs what do you do??? On 21 November 2011 10:24, ron minnich <rminnich@gmail.com> wrote: > but it is also pretty easy > for me to drive it into a corner such that simple commands don't have > repeatable results -- memory corruption problems start to appear. ^ permalink raw reply [flat|nested] 92+ messages in thread
* Re: [9fans] 9vx instability 2011-11-21 18:35 ` Charles Forsyth @ 2011-11-21 18:39 ` ron minnich 2011-11-21 18:49 ` Francisco J Ballesteros 0 siblings, 1 reply; 92+ messages in thread From: ron minnich @ 2011-11-21 18:39 UTC (permalink / raw) To: Fans of the OS Plan 9 from Bell Labs just normal usage, mk install and such in the nix release, and there are times that memory corruption happens. There's been a race in there forever, and sometimes you hit it, and things start to go south. ron ^ permalink raw reply [flat|nested] 92+ messages in thread
* Re: [9fans] 9vx instability 2011-11-21 18:39 ` ron minnich @ 2011-11-21 18:49 ` Francisco J Ballesteros 2011-11-21 19:02 ` Charles Forsyth 0 siblings, 1 reply; 92+ messages in thread From: Francisco J Ballesteros @ 2011-11-21 18:49 UTC (permalink / raw) To: Fans of the OS Plan 9 from Bell Labs funny, it's working like a rock here. just fine. maybe I've been lucky. On Mon, Nov 21, 2011 at 7:39 PM, ron minnich <rminnich@gmail.com> wrote: > just normal usage, mk install and such in the nix release, and there > are times that memory corruption happens. There's been a race in there > forever, and sometimes you hit it, and things start to go south. > > ron > > ^ permalink raw reply [flat|nested] 92+ messages in thread
* Re: [9fans] 9vx instability 2011-11-21 18:49 ` Francisco J Ballesteros @ 2011-11-21 19:02 ` Charles Forsyth 2011-11-21 19:18 ` andrey mirtchovski 0 siblings, 1 reply; 92+ messages in thread From: Charles Forsyth @ 2011-11-21 19:02 UTC (permalink / raw) To: Fans of the OS Plan 9 from Bell Labs >> just normal usage, mk install and such in the nix release, and there >> are times that memory corruption happens. There's been a race in there >> forever, and sometimes you hit it, and things start to go south. how many processors? oh. and which host system? ^ permalink raw reply [flat|nested] 92+ messages in thread
* Re: [9fans] 9vx instability 2011-11-21 19:02 ` Charles Forsyth @ 2011-11-21 19:18 ` andrey mirtchovski 0 siblings, 0 replies; 92+ messages in thread From: andrey mirtchovski @ 2011-11-21 19:18 UTC (permalink / raw) To: Fans of the OS Plan 9 from Bell Labs I can crash 9vx (latest from rminnich's repository) with regularity just by trying to compile Go's 'cmath' package. hosted on OSX, 7 cpus recognized by 9vx: segment 0x3f000000 0x40000000 segment 0x1000 0x5a000 segment 0x5a000 0x6b000 segment 0x6b000 0x263000 1580 8g: unhandled fault va=162 [11000162] eip=4eb92 cpu0: registers for 8g 1580 FLAGS=0 TRAP=0 ECODE=0 PC=4EB92 USP=3FFFF5A0 AX 00000102 BX 00000001 CX 00000102 DX 3FFFF478 SI 000614AC DI 00236409 BP 00000000 ^ permalink raw reply [flat|nested] 92+ messages in thread
* Re: [9fans] 9vx instability 2011-11-21 17:26 ` Jens Staal 2011-11-21 18:24 ` ron minnich @ 2011-11-21 20:20 ` Skip Tavakkolian [not found] ` <CAJSxfmLDrF5b_MxK7GW0jMRuywo88iDGdsH2ZBPbzzcsTQ1i9Q@mail.gmail.c> [not found] ` <CAJSxfmLDrF5b_MxK7GW0jMRuywo88iDGdsH2ZBPbzzcsTQ1i9Q@> 3 siblings, 0 replies; 92+ messages in thread From: Skip Tavakkolian @ 2011-11-21 20:20 UTC (permalink / raw) To: Fans of the OS Plan 9 from Bell Labs i run 9vx occasionally. a while back i built 9vx from ron's repository. i was having problems with it under Ubuntu 10.04 x86_64, where sometimes both cores were pegged at 100%; it was a problem with linux (judging by ubuntu mailing lists). without changing 9vx, things got stable after 10.10 (currently on 11.10). so, when in doubt, suspect the host os. % ls -l `{whatis 9vx}--rwxr-xr-x M 0 root root 5409005 Apr 9 2011 /usr/local/bin/9vx% uname -aLinux hpamd 3.0.0-12-generic #20-Ubuntu SMP Fri Oct 7 14:56:25 UTC 2011 x86_64 x86_64 x86_64 GNU/Linux -Skip On Mon, Nov 21, 2011 at 9:26 AM, Jens Staal <staal1978@gmail.com> wrote: > On 11/21/11 18:09, Anton wrote: >> >> > If you're on linux, you should consider kvm + kvmtool + plan 9 >> AFAIK, kvmtool wasn't integrated into 3.1. Is it stable/mature enough to >> run plan 9? >> >> > i have to say my experience is quite different >> Hm, that's odd. 9vx runs ok in ubuntu in tinycore, but not in arch. Maybe >> the thing is in Arch's kernel config or patches (although, stock kernel is >> quite vanilla...)? >> Are there Arch users to confirm? > > I have not had any problems, but I run the 9vx-hg package (could be a vx32 > version difference?). The freezing behaviour seems very strange - something > with the WM? I run dwm now and KDE before and did not experience any freezes > due to vx32 in either. The only crashes I have experienced have been some > experimental compiles (never succeeded under 9vx) using the Plan9 port of > GCC 3.0, but those crashes were quite graceful and did not bother the rest > of my system. > > > ^ permalink raw reply [flat|nested] 92+ messages in thread
[parent not found: <CAJSxfmLDrF5b_MxK7GW0jMRuywo88iDGdsH2ZBPbzzcsTQ1i9Q@mail.gmail.c>]
* Re: [9fans] 9vx instability [not found] ` <CAJSxfmLDrF5b_MxK7GW0jMRuywo88iDGdsH2ZBPbzzcsTQ1i9Q@mail.gmail.c> @ 2011-11-21 20:32 ` erik quanstrom 2011-11-21 21:59 ` Skip Tavakkolian 0 siblings, 1 reply; 92+ messages in thread From: erik quanstrom @ 2011-11-21 20:32 UTC (permalink / raw) To: 9fans On Mon Nov 21 15:20:58 EST 2011, skip.tavakkolian@gmail.com wrote: > i run 9vx occasionally. a while back i built 9vx from ron's > repository. i was having problems with it under Ubuntu 10.04 x86_64, > where sometimes both cores were pegged at 100%; it was a problem with > linux (judging by ubuntu mailing lists). without changing 9vx, things > got stable after 10.10 (currently on 11.10). so, when in doubt, > suspect the host os. !? the fact that one bug was found in linux doesn't imply that bugs are likely in any host os. the oses are better tested than 9vx, so given no other information i would conclude the opposite; 9vx is more likely at fault. and regardless, we have little chance of fixing the os. - erik ^ permalink raw reply [flat|nested] 92+ messages in thread
* Re: [9fans] 9vx instability 2011-11-21 20:32 ` erik quanstrom @ 2011-11-21 21:59 ` Skip Tavakkolian 2011-11-21 22:44 ` Anton 0 siblings, 1 reply; 92+ messages in thread From: Skip Tavakkolian @ 2011-11-21 21:59 UTC (permalink / raw) To: Fans of the OS Plan 9 from Bell Labs i'll modify what i said to "... suspect the host os first". it's been my experience that every autoupdate on Ubuntu and Windows brings in its share of new bugs (hopefully less than the number of bugs it fixes) On Mon, Nov 21, 2011 at 12:32 PM, erik quanstrom <quanstro@quanstro.net> wrote: > On Mon Nov 21 15:20:58 EST 2011, skip.tavakkolian@gmail.com wrote: >> i run 9vx occasionally. a while back i built 9vx from ron's >> repository. i was having problems with it under Ubuntu 10.04 x86_64, >> where sometimes both cores were pegged at 100%; it was a problem with >> linux (judging by ubuntu mailing lists). without changing 9vx, things >> got stable after 10.10 (currently on 11.10). so, when in doubt, >> suspect the host os. > > !? the fact that one bug was found in linux doesn't imply that bugs are likely > in any host os. the oses are better tested than 9vx, so given no other information > i would conclude the opposite; 9vx is more likely at fault. and regardless, we > have little chance of fixing the os. > > - erik > > ^ permalink raw reply [flat|nested] 92+ messages in thread
* Re: [9fans] 9vx instability 2011-11-21 21:59 ` Skip Tavakkolian @ 2011-11-21 22:44 ` Anton 2011-11-21 23:02 ` Skip Tavakkolian 0 siblings, 1 reply; 92+ messages in thread From: Anton @ 2011-11-21 22:44 UTC (permalink / raw) To: Fans of the OS Plan 9 from Bell Labs [-- Attachment #1: Type: text/plain, Size: 1412 bytes --] Yep, with 3.1 9vx runs fine for an hour already. However, I want to try installing Plan 9 natively. Tomorrow. Btw, why there are 9atom and 9front? I mean, why they aren't joined together? What the difference between them? 2011/11/22 Skip Tavakkolian <skip.tavakkolian@gmail.com> > i'll modify what i said to "... suspect the host os first". it's been > my experience that every autoupdate on Ubuntu and Windows brings in > its share of new bugs (hopefully less than the number of bugs it > fixes) > > On Mon, Nov 21, 2011 at 12:32 PM, erik quanstrom <quanstro@quanstro.net> > wrote: > > On Mon Nov 21 15:20:58 EST 2011, skip.tavakkolian@gmail.com wrote: > >> i run 9vx occasionally. a while back i built 9vx from ron's > >> repository. i was having problems with it under Ubuntu 10.04 x86_64, > >> where sometimes both cores were pegged at 100%; it was a problem with > >> linux (judging by ubuntu mailing lists). without changing 9vx, things > >> got stable after 10.10 (currently on 11.10). so, when in doubt, > >> suspect the host os. > > > > !? the fact that one bug was found in linux doesn't imply that bugs are > likely > > in any host os. the oses are better tested than 9vx, so given no other > information > > i would conclude the opposite; 9vx is more likely at fault. and > regardless, we > > have little chance of fixing the os. > > > > - erik > > > > > > [-- Attachment #2: Type: text/html, Size: 1944 bytes --] ^ permalink raw reply [flat|nested] 92+ messages in thread
* Re: [9fans] 9vx instability 2011-11-21 22:44 ` Anton @ 2011-11-21 23:02 ` Skip Tavakkolian 2011-11-24 16:40 ` Yaroslav 2011-11-24 17:56 ` Rudolf Sykora 0 siblings, 2 replies; 92+ messages in thread From: Skip Tavakkolian @ 2011-11-21 23:02 UTC (permalink / raw) To: Fans of the OS Plan 9 from Bell Labs because 9fans not only agree to disagree, they also disagree to agree :) On Mon, Nov 21, 2011 at 2:44 PM, Anton <fluffylime@gmail.com> wrote: > Yep, with 3.1 9vx runs fine for an hour already. However, I want to > try installing Plan 9 natively. Tomorrow. Btw, why there are 9atom and > 9front? > I mean, why they aren't joined together? What the difference between them? > 2011/11/22 Skip Tavakkolian <skip.tavakkolian@gmail.com> >> >> i'll modify what i said to "... suspect the host os first". it's been >> my experience that every autoupdate on Ubuntu and Windows brings in >> its share of new bugs (hopefully less than the number of bugs it >> fixes) >> >> On Mon, Nov 21, 2011 at 12:32 PM, erik quanstrom <quanstro@quanstro.net> >> wrote: >> > On Mon Nov 21 15:20:58 EST 2011, skip.tavakkolian@gmail.com wrote: >> >> i run 9vx occasionally. a while back i built 9vx from ron's >> >> repository. i was having problems with it under Ubuntu 10.04 x86_64, >> >> where sometimes both cores were pegged at 100%; it was a problem with >> >> linux (judging by ubuntu mailing lists). without changing 9vx, things >> >> got stable after 10.10 (currently on 11.10). so, when in doubt, >> >> suspect the host os. >> > >> > !? the fact that one bug was found in linux doesn't imply that bugs are >> > likely >> > in any host os. the oses are better tested than 9vx, so given no other >> > information >> > i would conclude the opposite; 9vx is more likely at fault. and >> > regardless, we >> > have little chance of fixing the os. >> > >> > - erik >> > >> > >> > > ^ permalink raw reply [flat|nested] 92+ messages in thread
* Re: [9fans] 9vx instability 2011-11-21 23:02 ` Skip Tavakkolian @ 2011-11-24 16:40 ` Yaroslav 2011-11-24 16:56 ` Francisco J Ballesteros 2011-11-24 17:56 ` Rudolf Sykora 1 sibling, 1 reply; 92+ messages in thread From: Yaroslav @ 2011-11-24 16:40 UTC (permalink / raw) To: Fans of the OS Plan 9 from Bell Labs 2011/11/22 Skip Tavakkolian <skip.tavakkolian@gmail.com>: > because 9fans not only agree to disagree, they also disagree to agree :) +1 ^ permalink raw reply [flat|nested] 92+ messages in thread
* Re: [9fans] 9vx instability 2011-11-24 16:40 ` Yaroslav @ 2011-11-24 16:56 ` Francisco J Ballesteros 0 siblings, 0 replies; 92+ messages in thread From: Francisco J Ballesteros @ 2011-11-24 16:56 UTC (permalink / raw) To: Fans of the OS Plan 9 from Bell Labs You mean -1, don't you? On Thu, Nov 24, 2011 at 5:40 PM, Yaroslav <yarikos@gmail.com> wrote: > 2011/11/22 Skip Tavakkolian <skip.tavakkolian@gmail.com>: >> because 9fans not only agree to disagree, they also disagree to agree :) > > +1 > > ^ permalink raw reply [flat|nested] 92+ messages in thread
* Re: [9fans] 9vx instability 2011-11-21 23:02 ` Skip Tavakkolian 2011-11-24 16:40 ` Yaroslav @ 2011-11-24 17:56 ` Rudolf Sykora 2011-11-24 18:51 ` Skip Tavakkolian 1 sibling, 1 reply; 92+ messages in thread From: Rudolf Sykora @ 2011-11-24 17:56 UTC (permalink / raw) To: Fans of the OS Plan 9 from Bell Labs >> On Mon, Nov 21, 2011 at 2:44 PM, Anton <fluffylime@gmail.com> wrote: >> Btw, why there are 9atom and 9front? >> I mean, why they aren't joined together? What the difference between them? On 22 November 2011 00:02, Skip Tavakkolian <skip.tavakkolian@gmail.com> wrote: > because 9fans not only agree to disagree, they also disagree to agree :) This, to be honest, doesn't say much. However, recently I stumbled over this: http://www.sptechweb.com/content/article.aspx?ArticleID=35742&print=true Ruda ^ permalink raw reply [flat|nested] 92+ messages in thread
* Re: [9fans] 9vx instability 2011-11-24 17:56 ` Rudolf Sykora @ 2011-11-24 18:51 ` Skip Tavakkolian 2011-11-25 3:30 ` Lucio De Re 0 siblings, 1 reply; 92+ messages in thread From: Skip Tavakkolian @ 2011-11-24 18:51 UTC (permalink / raw) To: Fans of the OS Plan 9 from Bell Labs it seems to me that cat-v.org is in the business of promoting itself. i've had patches that were accepted and some that were rejected for good reasons. please point out the rejected patches (which are also kept) so that we can judge the veracity of the claims being made. I have great respect for Geoff and what he has been and continues to do for Plan 9. -Skip On Thu, Nov 24, 2011 at 9:56 AM, Rudolf Sykora <rudolf.sykora@gmail.com> wrote: >>> On Mon, Nov 21, 2011 at 2:44 PM, Anton <fluffylime@gmail.com> wrote: >>> Btw, why there are 9atom and 9front? >>> I mean, why they aren't joined together? What the difference between them? > > On 22 November 2011 00:02, Skip Tavakkolian <skip.tavakkolian@gmail.com> wrote: >> because 9fans not only agree to disagree, they also disagree to agree :) > > This, to be honest, doesn't say much. > However, recently I stumbled over this: > http://www.sptechweb.com/content/article.aspx?ArticleID=35742&print=true > > Ruda > > ^ permalink raw reply [flat|nested] 92+ messages in thread
* Re: [9fans] 9vx instability 2011-11-24 18:51 ` Skip Tavakkolian @ 2011-11-25 3:30 ` Lucio De Re 2011-11-25 4:12 ` Stanley Lieber 0 siblings, 1 reply; 92+ messages in thread From: Lucio De Re @ 2011-11-25 3:30 UTC (permalink / raw) To: 9fans > I have great respect for Geoff and what he has been and continues to > do for Plan 9. I'd like to add my voice to this. And I take exception to Schmidt taking the glory for cwfs, which is Geoff Collyer's work and is not in any way to be treated as a sequel to Fossil. ++L ^ permalink raw reply [flat|nested] 92+ messages in thread
* Re: [9fans] 9vx instability 2011-11-25 3:30 ` Lucio De Re @ 2011-11-25 4:12 ` Stanley Lieber 2011-11-25 6:18 ` Lucio De Re 0 siblings, 1 reply; 92+ messages in thread From: Stanley Lieber @ 2011-11-25 4:12 UTC (permalink / raw) To: lucio, Fans of the OS Plan 9 from Bell Labs On Thu, Nov 24, 2011 at 9:30 PM, Lucio De Re <lucio@proxima.alt.za> wrote: >> I have great respect for Geoff and what he has been and continues to >> do for Plan 9. > > I'd like to add my voice to this. And I take exception to Schmidt > taking the glory for cwfs, which is Geoff Collyer's work and is not in > any way to be treated as a sequel to Fossil. Schmidt didn't take credit for anything. The reporter asked about the changes in 9front and we tried to explain; starting with an overview of what Plan 9 is, and proceeding on to a description of the hows and whys of the changes. The reporter drew his own conclusions and presented them as facts (and sometimes, as quotes). The article is filled with these sorts of inaccuracies. No one involved with 9front saw the text of the article before it was posted. -sl ^ permalink raw reply [flat|nested] 92+ messages in thread
* [9fans] 9vx instability 2011-11-25 4:12 ` Stanley Lieber @ 2011-11-25 6:18 ` Lucio De Re 0 siblings, 0 replies; 92+ messages in thread From: Lucio De Re @ 2011-11-25 6:18 UTC (permalink / raw) > No one involved with 9front saw the text of the article before it was posted. I think you've explained your position reasonably, let's hope that this serves as a lesson to those involved as well as to asnyone else exposing to the press what can only be a controversial issue. ++L ^ permalink raw reply [flat|nested] 92+ messages in thread
[parent not found: <CAJSxfmLDrF5b_MxK7GW0jMRuywo88iDGdsH2ZBPbzzcsTQ1i9Q@>]
[parent not found: <CAJSxfm+TZvGdfMGR1smusVAqJK9w=qtUHkXr8OGc5cuZ9VtrdQ@mail.gmail.c>]
* Re: [9fans] 9vx instability [not found] ` <CAJSxfm+TZvGdfMGR1smusVAqJK9w=qtUHkXr8OGc5cuZ9VtrdQ@mail.gmail.c> @ 2011-11-21 23:07 ` erik quanstrom 2011-11-22 13:56 ` Charles Forsyth 0 siblings, 1 reply; 92+ messages in thread From: erik quanstrom @ 2011-11-21 23:07 UTC (permalink / raw) To: 9fans On Mon Nov 21 18:03:32 EST 2011, skip.tavakkolian@gmail.com wrote: > because 9fans not only agree to disagree, they also disagree to agree :) i'll agree to that! - erik ^ permalink raw reply [flat|nested] 92+ messages in thread
* Re: [9fans] 9vx instability 2011-11-21 23:07 ` erik quanstrom @ 2011-11-22 13:56 ` Charles Forsyth 0 siblings, 0 replies; 92+ messages in thread From: Charles Forsyth @ 2011-11-22 13:56 UTC (permalink / raw) To: Fans of the OS Plan 9 from Bell Labs In this case, it seems to be less agreement or disagreement than significantly different experiences. Some of that is caused by using 9vx differently, but it also happens that the version of 9vx that others are using has a great many non-trivial differences with the much older one I'm using, and also configuration options. They aren't really directly comparable. Probably the only good advice is to "try running it for a while with your particular workload and see how you get on". If it does fail, however, and you're not doing anything too demanding, and you're running Linux, ask me for a copy of the executable I'm running to see if that fares any better. ^ permalink raw reply [flat|nested] 92+ messages in thread
[parent not found: <CAOEdRO10gkM7SwLRLyscLYENH=BfS8++mFNiRR6VnuAiRpZcag@mail.gmail.c>]
* Re: [9fans] 9vx instability [not found] ` <CAOEdRO10gkM7SwLRLyscLYENH=BfS8++mFNiRR6VnuAiRpZcag@mail.gmail.c> @ 2011-11-24 18:25 ` erik quanstrom 2011-11-24 18:52 ` Francisco J Ballesteros 2011-11-24 20:35 ` [9fans] 9vx instability ron minnich 0 siblings, 2 replies; 92+ messages in thread From: erik quanstrom @ 2011-11-24 18:25 UTC (permalink / raw) To: 9fans > This, to be honest, doesn't say much. > However, recently I stumbled over this: > http://www.sptechweb.com/content/article.aspx?ArticleID=35742&print=true geoff did cwfs, and has done more to maintain the system than the rest of us put together. he has my respect for that. thanks, geoff. - erik ^ permalink raw reply [flat|nested] 92+ messages in thread
* Re: [9fans] 9vx instability 2011-11-24 18:25 ` erik quanstrom @ 2011-11-24 18:52 ` Francisco J Ballesteros 2011-11-24 19:01 ` Stanley Lieber ` (2 more replies) 2011-11-24 20:35 ` [9fans] 9vx instability ron minnich 1 sibling, 3 replies; 92+ messages in thread From: Francisco J Ballesteros @ 2011-11-24 18:52 UTC (permalink / raw) To: Fans of the OS Plan 9 from Bell Labs [-- Attachment #1: Type: text/plain, Size: 1302 bytes --] I'm impressed by the work Geoff, and others do on Plan9, and I'm not talking about 9front at all. Jim, Charles, and others made an excellent port for amd64, which is cleaner that any other system I've seen. We used that as a starting point for nix. I think is childish to fork a system because the code sent to maintainers is either not desired or good enough or whatever. most of us have our own set of changes and exchange them at will. The good think in plan 9 has always been the quality of the system and the quality of its code, and I'd like it to stay that way and thank Geoff for keeping it that way. Just look at files that change in sources. it's impressive the amount of work still ongoing in plan 9. As said before in this list, if you want Linux, you know where to find it. I'm sure the standard there is not that high. On Thursday, November 24, 2011, erik quanstrom <quanstro@quanstro.net> wrote: >> This, to be honest, doesn't say much. >> However, recently I stumbled over this: >> http://www.sptechweb.com/content/article.aspx?ArticleID=35742&print=true > > geoff did cwfs, and has done more to maintain the system > than the rest of us put together. he has my respect for that. > > thanks, geoff. > > - erik > > -- ipad kbd. excuse typos. [-- Attachment #2: Type: text/html, Size: 1608 bytes --] ^ permalink raw reply [flat|nested] 92+ messages in thread
* Re: [9fans] 9vx instability 2011-11-24 18:52 ` Francisco J Ballesteros @ 2011-11-24 19:01 ` Stanley Lieber 2011-11-25 3:37 ` Lucio De Re 2011-11-25 19:20 ` Skip Tavakkolian 2011-11-24 20:39 ` cinap_lenrek 2011-11-25 3:33 ` [9fans] Forks of Plan 9 (Was: 9vx instability) Lucio De Re 2 siblings, 2 replies; 92+ messages in thread From: Stanley Lieber @ 2011-11-24 19:01 UTC (permalink / raw) To: Fans of the OS Plan 9 from Bell Labs The work of Geoff and everyone inside and outside of Bell Labs who have contributed over the years is greatly appreciated. Obviously, none of us would be here talking about Plan 9 without their contributions. It's because of their hard work that we have a base from which to launch our experiments. The article linked above is an example of poor journalism, complete with misquotes and fabricated quotes. I made the unfortunate mistake of entertaining the author's queries and inviting him to our IRC channel. I take full responsibility for the misunderstandings, though I wonder why we're all so credulous when it comes to articles on websites. 9front exists to have fun and learn by working with the system. That's what we're doing. -sl ^ permalink raw reply [flat|nested] 92+ messages in thread
* Re: [9fans] 9vx instability 2011-11-24 19:01 ` Stanley Lieber @ 2011-11-25 3:37 ` Lucio De Re 2011-11-25 4:21 ` Stanley Lieber 2011-11-25 19:20 ` Skip Tavakkolian 1 sibling, 1 reply; 92+ messages in thread From: Lucio De Re @ 2011-11-25 3:37 UTC (permalink / raw) To: 9fans > I take full responsibility for the misunderstandings, though > I wonder why we're all so credulous when it comes to articles on > websites. Because that's the point of journalism. You ought to have made sure that the community affected by the article was informed about its inaccuracies. I do however appreciate your belated acknowledgements, even though I'm not sure I'm speaking for anyone else. ++L ^ permalink raw reply [flat|nested] 92+ messages in thread
* Re: [9fans] 9vx instability 2011-11-25 3:37 ` Lucio De Re @ 2011-11-25 4:21 ` Stanley Lieber 0 siblings, 0 replies; 92+ messages in thread From: Stanley Lieber @ 2011-11-25 4:21 UTC (permalink / raw) To: lucio, Fans of the OS Plan 9 from Bell Labs On Thu, Nov 24, 2011 at 9:37 PM, Lucio De Re <lucio@proxima.alt.za> wrote: >> I take full responsibility for the misunderstandings, though >> I wonder why we're all so credulous when it comes to articles on >> websites. > > Because that's the point of journalism. You ought to have made sure > that the community affected by the article was informed about its > inaccuracies. I do however appreciate your belated acknowledgements, > even though I'm not sure I'm speaking for anyone else. I probably should have posted something here. The debacle was discussed at length amongst the 9front co-conspirators. For what it's worth, I apologize for any negative repercussions caused by agreeing to be interviewed by sdtimes.com. note: http://plan9.stanleylieber.com/9front/press/sdtimes.png -sl ^ permalink raw reply [flat|nested] 92+ messages in thread
* [9fans] 9vx instability 2011-11-24 19:01 ` Stanley Lieber 2011-11-25 3:37 ` Lucio De Re @ 2011-11-25 19:20 ` Skip Tavakkolian 1 sibling, 0 replies; 92+ messages in thread From: Skip Tavakkolian @ 2011-11-25 19:20 UTC (permalink / raw) A good clue might have been that they're "Sharepoint" experts. On Thu, Nov 24, 2011 at 11:01 AM, Stanley Lieber <stanley.lieber at gmail.com> wrote: > > The article linked above is an example of poor journalism, complete > with misquotes and fabricated quotes. > ^ permalink raw reply [flat|nested] 92+ messages in thread
* Re: [9fans] 9vx instability 2011-11-24 18:52 ` Francisco J Ballesteros 2011-11-24 19:01 ` Stanley Lieber @ 2011-11-24 20:39 ` cinap_lenrek 2011-11-24 20:45 ` ron minnich ` (2 more replies) 2011-11-25 3:33 ` [9fans] Forks of Plan 9 (Was: 9vx instability) Lucio De Re 2 siblings, 3 replies; 92+ messages in thread From: cinap_lenrek @ 2011-11-24 20:39 UTC (permalink / raw) To: 9fans so it is childish to replace 9load? or build a distribution that uses the stable and robust cwfs instead of fossil? write an audio layer? moving realmode and keyboard processing to userspace? unify the boot process to to break into rc shell, so one can at see what hardware got detected, poke at ctl files ect? should have just put it in a tgz on contrib and expect someone to find it so we finally get some test coverage? sometimes, the plan9 boot cd doesnt even manage to get the kernel loaded thanks to 9load. 9front doesnt support 64 bit 10000 core machines for sure, thats what the real adults do! it only gets pc's booted into a graphical rio with audio support more often. these kidz from the peoples front of cat-v even managed to write some working device drivers! (OMG! LINUX!!!!) but this doesnt matter these days i guess, because we'll run our builds in p9p or 9vx on our shiny new macbooks instead. grow up cinap! grow up! -- cinap ^ permalink raw reply [flat|nested] 92+ messages in thread
* Re: [9fans] 9vx instability 2011-11-24 20:39 ` cinap_lenrek @ 2011-11-24 20:45 ` ron minnich 2011-11-24 21:21 ` Francisco J Ballesteros 2011-11-25 2:02 ` erik quanstrom 2011-11-25 3:46 ` Lucio De Re 2 siblings, 1 reply; 92+ messages in thread From: ron minnich @ 2011-11-24 20:45 UTC (permalink / raw) To: Fans of the OS Plan 9 from Bell Labs Um, cinap, just FYI, I was not aiming at you or anyone else in particular. Sorry if it sounded that way. It's a holiday here, and not many other places, but still ... happy -day everyone! ron ^ permalink raw reply [flat|nested] 92+ messages in thread
* Re: [9fans] 9vx instability 2011-11-24 20:45 ` ron minnich @ 2011-11-24 21:21 ` Francisco J Ballesteros 0 siblings, 0 replies; 92+ messages in thread From: Francisco J Ballesteros @ 2011-11-24 21:21 UTC (permalink / raw) To: Fans of the OS Plan 9 from Bell Labs [-- Attachment #1: Type: text/plain, Size: 459 bytes --] neither am I. I was saying it would have been much better to see which one was the problem with patches and address it. have fun. On Thursday, November 24, 2011, ron minnich <rminnich@gmail.com> wrote: > Um, cinap, just FYI, I was not aiming at you or anyone else in > particular. Sorry if it sounded that way. > > It's a holiday here, and not many other places, but still ... happy > -day everyone! > > ron > > -- ipad kbd. excuse typos. [-- Attachment #2: Type: text/html, Size: 580 bytes --] ^ permalink raw reply [flat|nested] 92+ messages in thread
* Re: [9fans] 9vx instability 2011-11-24 20:39 ` cinap_lenrek 2011-11-24 20:45 ` ron minnich @ 2011-11-25 2:02 ` erik quanstrom 2011-11-26 23:30 ` Uriel [not found] ` <CAK=G1Tj4o_ysw_-dh8EQwWHkSSc6v=ga8E4Z331DasO13WNr_A@mail.gmail.c> 2011-11-25 3:46 ` Lucio De Re 2 siblings, 2 replies; 92+ messages in thread From: erik quanstrom @ 2011-11-25 2:02 UTC (permalink / raw) To: 9fans On Thu Nov 24 15:40:16 EST 2011, cinap_lenrek@gmx.de wrote: > so it is childish to replace 9load? or build a distribution that > uses the stable and robust cwfs instead of fossil? write an > audio layer? moving realmode and keyboard processing to userspace? > unify the boot process to to break into rc shell, so one can > at see what hardware got detected, poke at ctl files ect? my intention here is not to offend. i like you, i like your code. but i think this defense misses the point entirely. if folks have a problem with 9front it is not technical. folks don't get that far. it is because 9front appears to have defined itself in criticism of people (not code). and further defined itself by some offensive files. this makes 9front appear less than serious. to be honest, it's one of the reasons i've stopped following 9front. to paraphrase a saying in mathematics, it's not enough to be good you must also be humble. why do you think dennis' ideas took over? - erik ^ permalink raw reply [flat|nested] 92+ messages in thread
* [9fans] 9vx instability 2011-11-25 2:02 ` erik quanstrom @ 2011-11-26 23:30 ` Uriel [not found] ` <CAK=G1Tj4o_ysw_-dh8EQwWHkSSc6v=ga8E4Z331DasO13WNr_A@mail.gmail.c> 1 sibling, 0 replies; 92+ messages in thread From: Uriel @ 2011-11-26 23:30 UTC (permalink / raw) On Fri, Nov 25, 2011 at 3:02 AM, erik quanstrom <quanstro at quanstro.net> wrote: > if folks have a problem with 9front it is not technical. ?folks don't > get that far. ?it is because 9front appears to have defined itself in criticism > of people (not code). ?and further defined itself by some offensive files. > this makes 9front appear less than serious. 9front seems to me to define itself as: having fun while getting useful stuff done. With an emphasis in *fun* and in not taking anything too seriously, while one the technical side favoring simplicity and things that work. This might not be exactly the same original Plan 9 values, but seems close enough. Of course in 9front there is also an element of trolling and poking fun at itself and anything else, and I will be happy if cat-v.org takes the blame for that. > ?to be honest, it's one of the reasons i've stopped following 9front. > > to paraphrase a saying in mathematics, it's not enough to be good > you must also be humble. ?why do you think dennis' ideas took > over? I think an important form of humility is not taking yourself too seriously. For an example of this see Dennis' Anti-Foreword to The UNIX-HATERS Handbook: http://simson.net/ref/ugh.pdf 9front can't claim to reach such exquisite levels of "seriousness", but it tries. I suspect one of the reasons why 9front exists is because some people in the Plan 9 community this days seem to take themselves and the whole project a bit too seriously. Which is kind of weird for a project called after an Ed Wood film. uriel ^ permalink raw reply [flat|nested] 92+ messages in thread
[parent not found: <CAK=G1Tj4o_ysw_-dh8EQwWHkSSc6v=ga8E4Z331DasO13WNr_A@mail.gmail.c>]
* [9fans] 9vx instability [not found] ` <CAK=G1Tj4o_ysw_-dh8EQwWHkSSc6v=ga8E4Z331DasO13WNr_A@mail.gmail.c> @ 2011-11-26 23:40 ` erik quanstrom 2011-11-26 23:57 ` Jacob Todd ` (2 more replies) 0 siblings, 3 replies; 92+ messages in thread From: erik quanstrom @ 2011-11-26 23:40 UTC (permalink / raw) > 9front seems to me to define itself as: having fun while getting > useful stuff done. With an emphasis in *fun* and in not taking > anything too seriously, while one the technical side favoring > simplicity and things that work. > > This might not be exactly the same original Plan 9 values, but seems > close enough. Of course in 9front there is also an element of trolling > and poking fun at itself and anything else, and I will be happy if > cat-v.org takes the blame for that. > > > ?to be honest, it's one of the reasons i've stopped following 9front. > > > > to paraphrase a saying in mathematics, it's not enough to be good > > you must also be humble. ?why do you think dennis' ideas took > > over? > > I think an important form of humility is not taking yourself too > seriously. For an example of this see Dennis' Anti-Foreword to The > UNIX-HATERS Handbook: http://simson.net/ref/ugh.pdf > > 9front can't claim to reach such exquisite levels of "seriousness", > but it tries. > > I suspect one of the reasons why 9front exists is because some people > in the Plan 9 community this days seem to take themselves and the > whole project a bit too seriously. > > Which is kind of weird for a project called after an Ed Wood film. uriel, what you say would make sense if the "jokes" didn't include putting mein kampf in /lib. - erik ^ permalink raw reply [flat|nested] 92+ messages in thread
* [9fans] 9vx instability 2011-11-26 23:40 ` erik quanstrom @ 2011-11-26 23:57 ` Jacob Todd 2011-11-27 3:27 ` Lucio De Re 2011-11-27 18:34 ` Skip Tavakkolian 2011-11-27 2:40 ` Skip Tavakkolian 2011-11-28 1:14 ` Andrés Domínguez 2 siblings, 2 replies; 92+ messages in thread From: Jacob Todd @ 2011-11-26 23:57 UTC (permalink / raw) The constitution and the gettysburg address are in there, too. On Nov 26, 2011 6:51 PM, "erik quanstrom" <quanstro at quanstro.net> wrote: > > 9front seems to me to define itself as: having fun while getting > > useful stuff done. With an emphasis in *fun* and in not taking > > anything too seriously, while one the technical side favoring > > simplicity and things that work. > > > > This might not be exactly the same original Plan 9 values, but seems > > close enough. Of course in 9front there is also an element of trolling > > and poking fun at itself and anything else, and I will be happy if > > cat-v.org takes the blame for that. > > > > > to be honest, it's one of the reasons i've stopped following 9front. > > > > > > to paraphrase a saying in mathematics, it's not enough to be good > > > you must also be humble. why do you think dennis' ideas took > > > over? > > > > I think an important form of humility is not taking yourself too > > seriously. For an example of this see Dennis' Anti-Foreword to The > > UNIX-HATERS Handbook: http://simson.net/ref/ugh.pdf > > > > 9front can't claim to reach such exquisite levels of "seriousness", > > but it tries. > > > > I suspect one of the reasons why 9front exists is because some people > > in the Plan 9 community this days seem to take themselves and the > > whole project a bit too seriously. > > > > Which is kind of weird for a project called after an Ed Wood film. > > uriel, what you say would make sense if the "jokes" didn't include putting > mein kampf in /lib. > > - erik > > -------------- next part -------------- An HTML attachment was scrubbed... URL: <http://mail.9fans.net/private/9fans/attachments/20111126/9dc93c4d/attachment.html> ^ permalink raw reply [flat|nested] 92+ messages in thread
* [9fans] 9vx instability 2011-11-26 23:57 ` Jacob Todd @ 2011-11-27 3:27 ` Lucio De Re 2011-11-27 4:26 ` cinap_lenrek at gmx.de 2011-11-27 4:32 ` cinap_lenrek at gmx.de 2011-11-27 18:34 ` Skip Tavakkolian 1 sibling, 2 replies; 92+ messages in thread From: Lucio De Re @ 2011-11-27 3:27 UTC (permalink / raw) >> uriel, what you say would make sense if the "jokes" didn't include putting >> mein kampf in /lib. > The constitution and the gettysburg address are in there, too. Is this balanced by having "The Diary of Ann Frank" in there, too? ++L ^ permalink raw reply [flat|nested] 92+ messages in thread
* [9fans] 9vx instability 2011-11-27 3:27 ` Lucio De Re @ 2011-11-27 4:26 ` cinap_lenrek at gmx.de 2011-11-27 4:32 ` cinap_lenrek at gmx.de 1 sibling, 0 replies; 92+ messages in thread From: cinap_lenrek at gmx.de @ 2011-11-27 4:26 UTC (permalink / raw) no, but the communist manifesto ;) -- cinap ^ permalink raw reply [flat|nested] 92+ messages in thread
* [9fans] 9vx instability 2011-11-27 3:27 ` Lucio De Re 2011-11-27 4:26 ` cinap_lenrek at gmx.de @ 2011-11-27 4:32 ` cinap_lenrek at gmx.de 2011-11-27 14:23 ` Dan Cross 2011-11-28 1:45 ` Anthony Martin 1 sibling, 2 replies; 92+ messages in thread From: cinap_lenrek at gmx.de @ 2011-11-27 4:32 UTC (permalink / raw) /lib/mainkampf is part of an ongoing project to make venti sha-1 hashes easy to remember by translating them into hitler-speeches. -- cinap ^ permalink raw reply [flat|nested] 92+ messages in thread
* [9fans] 9vx instability 2011-11-27 4:32 ` cinap_lenrek at gmx.de @ 2011-11-27 14:23 ` Dan Cross 2011-11-27 19:09 ` Lyndon Nerenberg 2011-11-28 1:45 ` Anthony Martin 1 sibling, 1 reply; 92+ messages in thread From: Dan Cross @ 2011-11-27 14:23 UTC (permalink / raw) On Sat, Nov 26, 2011 at 11:32 PM, <cinap_lenrek at gmx.de> wrote: > /lib/mainkampf is part of an ongoing project to make > venti sha-1 hashes easy to remember by translating > them into hitler-speeches. It's also, frankly, offensive. ^ permalink raw reply [flat|nested] 92+ messages in thread
* [9fans] 9vx instability 2011-11-27 14:23 ` Dan Cross @ 2011-11-27 19:09 ` Lyndon Nerenberg 2011-11-27 20:44 ` Dan Cross 0 siblings, 1 reply; 92+ messages in thread From: Lyndon Nerenberg @ 2011-11-27 19:09 UTC (permalink / raw) On Sun, 27 Nov 2011, Dan Cross wrote: > On Sat, Nov 26, 2011 at 11:32 PM, <cinap_lenrek at gmx.de> wrote: >> /lib/mainkampf is part of an ongoing project to make >> venti sha-1 hashes easy to remember by translating >> them into hitler-speeches. > > It's also, frankly, offensive. I think 'disgusting' describes it better. ^ permalink raw reply [flat|nested] 92+ messages in thread
* [9fans] 9vx instability 2011-11-27 19:09 ` Lyndon Nerenberg @ 2011-11-27 20:44 ` Dan Cross 2011-11-27 23:35 ` hiro 0 siblings, 1 reply; 92+ messages in thread From: Dan Cross @ 2011-11-27 20:44 UTC (permalink / raw) On Sun, Nov 27, 2011 at 2:09 PM, Lyndon Nerenberg <lyndon at orthanc.ca> wrote: > On Sun, 27 Nov 2011, Dan Cross wrote: >> On Sat, Nov 26, 2011 at 11:32 PM, ?<cinap_lenrek at gmx.de> wrote: >>> /lib/mainkampf is part of an ongoing project to make >>> venti sha-1 hashes easy to remember by translating >>> them into hitler-speeches. >> >> It's also, frankly, offensive. > > I think 'disgusting' describes it better. That's certainly true of the work (mein kampf) itself. - Dan C. ^ permalink raw reply [flat|nested] 92+ messages in thread
* [9fans] 9vx instability 2011-11-27 20:44 ` Dan Cross @ 2011-11-27 23:35 ` hiro 2011-11-28 12:02 ` Dennis den Brok 0 siblings, 1 reply; 92+ messages in thread From: hiro @ 2011-11-27 23:35 UTC (permalink / raw) Mein Kampf was clearly not included to promote Nazi ideals, as Germans (who are probably the target audience) aren't even allowed to possess this book. So in practice the joke punishes every law-abiding German citizen by disallowing them to download 9front. ^ permalink raw reply [flat|nested] 92+ messages in thread
* [9fans] 9vx instability 2011-11-27 23:35 ` hiro @ 2011-11-28 12:02 ` Dennis den Brok 0 siblings, 0 replies; 92+ messages in thread From: Dennis den Brok @ 2011-11-28 12:02 UTC (permalink / raw) > Mein Kampf was clearly not included to promote Nazi ideals, as Germans > (who are probably the target audience) aren't even allowed to possess > this book. So in practice the joke punishes every law-abiding German > citizen by disallowing them to download 9front. Possession of "Mein Kampf" is not illegal in Germany. It just cannot be published at the moment because the respective rights are with the state of Bavaria until 2016, when the text will enter the public domain. -- Dennis den Brok ^ permalink raw reply [flat|nested] 92+ messages in thread
* [9fans] 9vx instability 2011-11-27 4:32 ` cinap_lenrek at gmx.de 2011-11-27 14:23 ` Dan Cross @ 2011-11-28 1:45 ` Anthony Martin 1 sibling, 0 replies; 92+ messages in thread From: Anthony Martin @ 2011-11-28 1:45 UTC (permalink / raw) cinap_lenrek at gmx.de once said: > /lib/mainkampf is part of an ongoing project to make > venti sha-1 hashes easy to remember by translating > them into hitler-speeches. Well now that it's gone, how about using excerpts from Industrial Society and its Future? I can send a patch to add /lib/kaczynski. Anthony ^ permalink raw reply [flat|nested] 92+ messages in thread
* [9fans] 9vx instability 2011-11-26 23:57 ` Jacob Todd 2011-11-27 3:27 ` Lucio De Re @ 2011-11-27 18:34 ` Skip Tavakkolian 2011-11-27 19:01 ` Stanley Lieber 2011-11-27 19:39 ` Iruatã Souza 1 sibling, 2 replies; 92+ messages in thread From: Skip Tavakkolian @ 2011-11-27 18:34 UTC (permalink / raw) this reasoning is so ridiculous that i have to believe you're trolling. the U.S. Constitution has been the foundation for the rule of law in this country for 200+ years, and the Gettysburg address honored the fallen and the ideals -- equality for all men -- that they died for. why would anyone think that racist propaganda or hate speech should have equal space in /lib? some 70 million people were killed during WWII, partly because some people believed the propaganda that is Mein Kampf. there's nothing funny about that. please, grow up! -Skip On Sat, Nov 26, 2011 at 3:57 PM, Jacob Todd <jaketodd422 at gmail.com> wrote: > The constitution and the gettysburg address are in there, too. > > On Nov 26, 2011 6:51 PM, "erik quanstrom" <quanstro at quanstro.net> wrote: >> >> > 9front seems to me to define itself as: having fun while getting >> > useful stuff done. With an emphasis in *fun* and in not taking >> > anything too seriously, while one the technical side favoring >> > simplicity and things that work. >> > >> > This might not be exactly the same original Plan 9 values, but seems >> > close enough. Of course in 9front there is also an element of trolling >> > and poking fun at itself and anything else, and I will be happy if >> > cat-v.org takes the blame for that. >> > >> > > ?to be honest, it's one of the reasons i've stopped following 9front. >> > > >> > > to paraphrase a saying in mathematics, it's not enough to be good >> > > you must also be humble. ?why do you think dennis' ideas took >> > > over? >> > >> > I think an important form of humility is not taking yourself too >> > seriously. For an example of this see Dennis' Anti-Foreword to The >> > UNIX-HATERS Handbook: http://simson.net/ref/ugh.pdf >> > >> > 9front can't claim to reach such exquisite levels of "seriousness", >> > but it tries. >> > >> > I suspect one of the reasons why 9front exists is because some people >> > in the Plan 9 community this days seem to take themselves and the >> > whole project a bit too seriously. >> > >> > Which is kind of weird for a project called after an Ed Wood film. >> >> uriel, what you say would make sense if the "jokes" didn't include putting >> mein kampf in /lib. >> >> - erik >> > ^ permalink raw reply [flat|nested] 92+ messages in thread
* [9fans] 9vx instability 2011-11-27 18:34 ` Skip Tavakkolian @ 2011-11-27 19:01 ` Stanley Lieber 2011-11-27 19:39 ` Iruatã Souza 1 sibling, 0 replies; 92+ messages in thread From: Stanley Lieber @ 2011-11-27 19:01 UTC (permalink / raw) On Sun, Nov 27, 2011 at 12:34 PM, Skip Tavakkolian <skip.tavakkolian at gmail.com> wrote: > this reasoning is so ridiculous that i have to believe you're trolling. > > the U.S. Constitution has been the foundation for the rule of law in > this country for 200+ years, and the Gettysburg address honored the > fallen and the ideals -- equality for all men -- that they died for. > why would anyone think that racist propaganda or hate speech should > have equal space in /lib? > > some 70 million people were killed during WWII, partly because some > people believed the propaganda that is Mein Kampf. there's nothing > funny about that. > > please, grow up! http://img.stanleylieber.com/src/12931/img/1322420160.png ^ permalink raw reply [flat|nested] 92+ messages in thread
* [9fans] 9vx instability 2011-11-27 18:34 ` Skip Tavakkolian 2011-11-27 19:01 ` Stanley Lieber @ 2011-11-27 19:39 ` Iruatã Souza 1 sibling, 0 replies; 92+ messages in thread From: Iruatã Souza @ 2011-11-27 19:39 UTC (permalink / raw) I like some of the fun in 9front, /lib/theo in special, and I dislike the idea of having the US constitution in /lib. But my point is that I think it is a little bit too much having Mein Kampf in there. It seems to me some people needed attention and adding such a disgusting text to the tree was the obvious way to get it. As was pointed out, people need to grow up, and I should add that one should only make jokes that one can sustain outside the internet. As a mostly silent contributor to 9front, I think we have interesting technical stuff to put forth and that kind of 'look how I am controversial' game is not one of them. On Sun, Nov 27, 2011 at 4:34 PM, Skip Tavakkolian <skip.tavakkolian at gmail.com> wrote: > this reasoning is so ridiculous that i have to believe you're trolling. > > the U.S. Constitution has been the foundation for the rule of law in > this country for 200+ years, and the Gettysburg address honored the > fallen and the ideals -- equality for all men -- that they died for. > why would anyone think that racist propaganda or hate speech should > have equal space in /lib? > > some 70 million people were killed during WWII, partly because some > people believed the propaganda that is Mein Kampf. there's nothing > funny about that. > > please, grow up! > > -Skip > > On Sat, Nov 26, 2011 at 3:57 PM, Jacob Todd <jaketodd422 at gmail.com> wrote: >> The constitution and the gettysburg address are in there, too. >> >> On Nov 26, 2011 6:51 PM, "erik quanstrom" <quanstro at quanstro.net> wrote: >>> >>> > 9front seems to me to define itself as: having fun while getting >>> > useful stuff done. With an emphasis in *fun* and in not taking >>> > anything too seriously, while one the technical side favoring >>> > simplicity and things that work. >>> > >>> > This might not be exactly the same original Plan 9 values, but seems >>> > close enough. Of course in 9front there is also an element of trolling >>> > and poking fun at itself and anything else, and I will be happy if >>> > cat-v.org takes the blame for that. >>> > >>> > > ?to be honest, it's one of the reasons i've stopped following 9front. >>> > > >>> > > to paraphrase a saying in mathematics, it's not enough to be good >>> > > you must also be humble. ?why do you think dennis' ideas took >>> > > over? >>> > >>> > I think an important form of humility is not taking yourself too >>> > seriously. For an example of this see Dennis' Anti-Foreword to The >>> > UNIX-HATERS Handbook: http://simson.net/ref/ugh.pdf >>> > >>> > 9front can't claim to reach such exquisite levels of "seriousness", >>> > but it tries. >>> > >>> > I suspect one of the reasons why 9front exists is because some people >>> > in the Plan 9 community this days seem to take themselves and the >>> > whole project a bit too seriously. >>> > >>> > Which is kind of weird for a project called after an Ed Wood film. >>> >>> uriel, what you say would make sense if the "jokes" didn't include putting >>> mein kampf in /lib. >>> >>> - erik >>> >> > > ^ permalink raw reply [flat|nested] 92+ messages in thread
* [9fans] 9vx instability 2011-11-26 23:40 ` erik quanstrom 2011-11-26 23:57 ` Jacob Todd @ 2011-11-27 2:40 ` Skip Tavakkolian 2011-11-28 1:14 ` Andrés Domínguez 2 siblings, 0 replies; 92+ messages in thread From: Skip Tavakkolian @ 2011-11-27 2:40 UTC (permalink / raw) On Sat, Nov 26, 2011 at 3:40 PM, erik quanstrom <quanstro at quanstro.net> wrote: >> 9front seems to me to define itself as: having fun while getting >> useful stuff done. With an emphasis in *fun* and in not taking >> anything too seriously, while one the technical side favoring >> simplicity and things that work. >> >> This might not be exactly the same original Plan 9 values, but seems >> close enough. Of course in 9front there is also an element of trolling >> and poking fun at itself and anything else, and I will be happy if >> cat-v.org takes the blame for that. >> >> > ?to be honest, it's one of the reasons i've stopped following 9front. >> > >> > to paraphrase a saying in mathematics, it's not enough to be good >> > you must also be humble. ?why do you think dennis' ideas took >> > over? >> >> I think an important form of humility is not taking yourself too >> seriously. For an example of this see Dennis' Anti-Foreword to The >> UNIX-HATERS Handbook: http://simson.net/ref/ugh.pdf >> >> 9front can't claim to reach such exquisite levels of "seriousness", >> but it tries. >> >> I suspect one of the reasons why 9front exists is because some people >> in the Plan 9 community this days seem to take themselves and the >> whole project a bit too seriously. >> >> Which is kind of weird for a project called after an Ed Wood film. > > uriel, what you say would make sense if the "jokes" didn't include putting > mein kampf in /lib. > > - erik > hopefully the 9front kids understand that /lib is not a real library; it is not required to have a copy of every a piece of drivel ever written. -Skip ^ permalink raw reply [flat|nested] 92+ messages in thread
* [9fans] 9vx instability 2011-11-26 23:40 ` erik quanstrom 2011-11-26 23:57 ` Jacob Todd 2011-11-27 2:40 ` Skip Tavakkolian @ 2011-11-28 1:14 ` Andrés Domínguez 2 siblings, 0 replies; 92+ messages in thread From: Andrés Domínguez @ 2011-11-28 1:14 UTC (permalink / raw) 2011/11/27 erik quanstrom <quanstro at quanstro.net>: >> >> I suspect one of the reasons why 9front exists is because some people >> in the Plan 9 community this days seem to take themselves and the >> whole project a bit too seriously. >> >> Which is kind of weird for a project called after an Ed Wood film. > > uriel, what you say would make sense if the "jokes" didn't include putting > mein kampf in /lib. I thought this was a disgusting joke by Eric. Sorry Eric! Andr?s ^ permalink raw reply [flat|nested] 92+ messages in thread
* Re: [9fans] 9vx instability 2011-11-24 20:39 ` cinap_lenrek 2011-11-24 20:45 ` ron minnich 2011-11-25 2:02 ` erik quanstrom @ 2011-11-25 3:46 ` Lucio De Re 2011-11-25 4:35 ` Stanley Lieber 2 siblings, 1 reply; 92+ messages in thread From: Lucio De Re @ 2011-11-25 3:46 UTC (permalink / raw) To: 9fans > so it is childish to replace 9load? or build a distribution that > uses the stable and robust cwfs instead of fossil? write an > audio layer? moving realmode and keyboard processing to userspace? > unify the boot process to to break into rc shell, so one can > at see what hardware got detected, poke at ctl files ect? Is it out of the question to set up a CodeReview facility and apply it to the entire Plan 9 source tree? Maybe I ought to try it. Is it too late to merge Plan 9, 9front and NIX by applying patches as the Go Authors do with their stuff? ++L ^ permalink raw reply [flat|nested] 92+ messages in thread
* Re: [9fans] 9vx instability 2011-11-25 3:46 ` Lucio De Re @ 2011-11-25 4:35 ` Stanley Lieber 0 siblings, 0 replies; 92+ messages in thread From: Stanley Lieber @ 2011-11-25 4:35 UTC (permalink / raw) To: lucio, Fans of the OS Plan 9 from Bell Labs On Thu, Nov 24, 2011 at 9:46 PM, Lucio De Re <lucio@proxima.alt.za> wrote: > Is it too late to merge Plan 9, 9front and NIX by applying patches as > the Go Authors do with their stuff? The divergence is probably already too wide for merging with simple patches, but 9front's changes are of course available to anyone. I believe cinap has also submitted some of it back to Geoff. On a related note: I don't believe the existence of the various forks is necessarily an indicator of fractious intent. Rather, the forks provide a "safe area" to explore changes and practices that are either too new, too questionable, or simply too numerous to be considered for inclusion in the Bell Labs release at the present time. It's natural that like-minded individuals, sensing their common interest, will congregate and undertake this sort of activity as a group. Historically, forks of Plan 9 are nothing new. See: Plan B, Octopus, 9atom, etc. Which brings me to the question of Nazi humor. http://img.stanleylieber.com/src/12876/img/1322195554.jpg -sl ^ permalink raw reply [flat|nested] 92+ messages in thread
* [9fans] Forks of Plan 9 (Was: 9vx instability) 2011-11-24 18:52 ` Francisco J Ballesteros 2011-11-24 19:01 ` Stanley Lieber 2011-11-24 20:39 ` cinap_lenrek @ 2011-11-25 3:33 ` Lucio De Re 2011-11-25 3:54 ` Stanley Lieber [not found] ` <CAHfqX-pxHzzHQdf2Rg=Fo+yKOSxYVX7UdU7j4hQJKYS2c7e4tQ@mail.gmail.c> 2 siblings, 2 replies; 92+ messages in thread From: Lucio De Re @ 2011-11-25 3:33 UTC (permalink / raw) To: 9fans > I'm impressed by the work Geoff, and others do on Plan9, and I'm not > talking about 9front at all. > Jim, Charles, and others made an excellent port for amd64, > which is cleaner that any other system I've seen. We used that > as a starting point for nix. Out of curiosity: 9front makes high claims about device drivers, are these compatible with Plan 9 (and NIX)? If so, is there a list? ++L ^ permalink raw reply [flat|nested] 92+ messages in thread
* Re: [9fans] Forks of Plan 9 (Was: 9vx instability) 2011-11-25 3:33 ` [9fans] Forks of Plan 9 (Was: 9vx instability) Lucio De Re @ 2011-11-25 3:54 ` Stanley Lieber 2011-11-25 4:14 ` Lucio De Re 2011-11-25 6:05 ` cinap_lenrek at gmx.de [not found] ` <CAHfqX-pxHzzHQdf2Rg=Fo+yKOSxYVX7UdU7j4hQJKYS2c7e4tQ@mail.gmail.c> 1 sibling, 2 replies; 92+ messages in thread From: Stanley Lieber @ 2011-11-25 3:54 UTC (permalink / raw) To: lucio, Fans of the OS Plan 9 from Bell Labs On Thu, Nov 24, 2011 at 9:33 PM, Lucio De Re <lucio@proxima.alt.za> wrote: > Out of curiosity: 9front makes high claims about device drivers, are > these compatible with Plan 9 (and NIX)? If so, is there a list? A handful of device drivers have been written from scratch. Some devices started working when their PCI IDs were added to existing drivers. Most of 9front's drivers will probably work with any Plan 9 (I know Erik has adopted at least the BCM57xx driver for 9atom). I'm not sure how much AC97, HDA and SB16/ESS rely upon 9front's changes to how audio is handled; cinap should be able to answer audio related questions. Wacom WACF004/WACF008 support is provided by a userland program that relies upon a small change to the serial port driver. The following page is a fairly complete list of 9front's new features: http://code.google.com/p/plan9front/wiki/features while this page describes the hardware that is currently seeing the most testing: http://code.google.com/p/plan9front/wiki/KnownWorkingHardware -sl ^ permalink raw reply [flat|nested] 92+ messages in thread
* Re: [9fans] Forks of Plan 9 (Was: 9vx instability) 2011-11-25 3:54 ` Stanley Lieber @ 2011-11-25 4:14 ` Lucio De Re 2011-11-25 6:05 ` cinap_lenrek at gmx.de 1 sibling, 0 replies; 92+ messages in thread From: Lucio De Re @ 2011-11-25 4:14 UTC (permalink / raw) To: 9fans > A handful of device drivers have been written from scratch. Some > devices started working when their PCI IDs were added to existing > drivers. A bit like pulling teeth, isn't it? It is natural to become defensive of one's efforts, but that also leads to categorising those against whom defenses are erected as the enemy; how else does one justify them? Plan 9 is _not_ 9front's enemy except in the imagination, let's not make it so in real life. My vote, in this world of democratic revolution, is to persuade nemo, forsyth, cinap, jim and geoff to be a starting core of moderators for a Code Review of Plan 9. Takers? ++L ^ permalink raw reply [flat|nested] 92+ messages in thread
* [9fans] Forks of Plan 9 (Was: 9vx instability) 2011-11-25 3:54 ` Stanley Lieber 2011-11-25 4:14 ` Lucio De Re @ 2011-11-25 6:05 ` cinap_lenrek at gmx.de 2011-11-25 6:22 ` Lucio De Re 1 sibling, 1 reply; 92+ messages in thread From: cinap_lenrek at gmx.de @ 2011-11-25 6:05 UTC (permalink / raw) theres a new miniport originaly based on the ac97 driver for the audio devices. sb16 driver was rewritten mainly to get interrupt free output in emulators like qemu and bochs. required minimal changes to the legacy dma controller code. hda driver was written from scratch. all audio drivers support controlling the output buffer delay. there where some changes to usb hci drivers to support controlling the buffer delay on isochronous endpoints. some big changes to the userspace usb parts. instead of providing a special framework to write usb userspace drivers that all run in the usbd host process to provide a single service, we split them into separate programs again that are free to choose whatever they want. usb audio driver rewritten from scratch. (very minimalistic, but supports delay control) the usb storage driver got sd partition support. hotplugging usb devices works differently. usb drivers get started by a rc script. thers a new devshr device that acts as a global mount table (its like /srv just also having a "mount" part). with this, usb filesystems just register ther 9p channels to devshr and it becomes visible on /dev or /shr. usb storage devices get auto mounted when they contain a fat partition. theres usb-ptp camera support, behaves identical to usb mass storage case. fixed rtl8169 as it used to stop receiving packets from time to time causing huge delays. bcm ethernet was written from scratch. keyboard input works differently. kernel exports a #b/scancode, #b/leds files, #c/cons returns 0 bytes on read. theres no input processing (uart, kbd) in the kernel anymore. kbdfs does all the input processing and exports the usual files plus a new /dev/kbd wich is also multiplexed by rio and used by programs like games/doom to get keyboard input. using eriks sata and ide drivers with some adaptions. pci ids, enabling dma by default, fix some problems with dma+atapi on qemu/bochs. many vga changes. aux/vga now uses devpnp to enumerate the pci devices. vesa screenblanking. amd geode driver support. utf-8 support for cga. no #P/realmode anymore. no 16bit code in kernel, e820 scan done by bootloader. thats all i can remember for hardware related stuff right now. -- cinap ^ permalink raw reply [flat|nested] 92+ messages in thread
* [9fans] Forks of Plan 9 (Was: 9vx instability) 2011-11-25 6:05 ` cinap_lenrek at gmx.de @ 2011-11-25 6:22 ` Lucio De Re 2011-11-25 6:45 ` cinap_lenrek at gmx.de 0 siblings, 1 reply; 92+ messages in thread From: Lucio De Re @ 2011-11-25 6:22 UTC (permalink / raw) > theres a new miniport originaly based on the ac97 driver for the > audio devices. > > sb16 driver was rewritten mainly to get interrupt free output > [... snip ...] Yeow! > > no #P/realmode anymore. no 16bit code in kernel, e820 scan > done by bootloader. > > thats all i can remember for hardware related stuff right now. > ... and a pretty good memory, too! Sounds like irreconcilable differences, does that mean divorce is inevitable? :-) :-) :-) ++L ^ permalink raw reply [flat|nested] 92+ messages in thread
* [9fans] Forks of Plan 9 (Was: 9vx instability) 2011-11-25 6:22 ` Lucio De Re @ 2011-11-25 6:45 ` cinap_lenrek at gmx.de 2011-11-25 7:52 ` Francisco J Ballesteros 2011-11-25 14:38 ` erik quanstrom 0 siblings, 2 replies; 92+ messages in thread From: cinap_lenrek at gmx.de @ 2011-11-25 6:45 UTC (permalink / raw) drivers should be pretty portable. there are more drastic changes like the eqlock function that touched many places. its basicly a normal qlock() that can error() out when the process gets a note or gets killed. -- cinap ^ permalink raw reply [flat|nested] 92+ messages in thread
* [9fans] Forks of Plan 9 (Was: 9vx instability) 2011-11-25 6:45 ` cinap_lenrek at gmx.de @ 2011-11-25 7:52 ` Francisco J Ballesteros 2011-11-25 8:06 ` Lucio De Re 2011-11-25 14:38 ` erik quanstrom 1 sibling, 1 reply; 92+ messages in thread From: Francisco J Ballesteros @ 2011-11-25 7:52 UTC (permalink / raw) I'd like to say here that I'm sorry if my mail in this thread did hurt any feelings. That was not my aim, again. I know all of us keep a local copy in one way or another, but I'd like to suggest that all of us keep on sending patches and code to bell labs; that's the least we can do, considering the excellent code base those guys gave us in the first place. Regarding the codereview suggestion, nix is already under code review, and we intend it to be not just a research system, but also a kernel that could be used as a 64bits plan 9 system. All of you are more than welcome to send CLs there. Also, we are trying to make our changes in a way that they could help the stock distribution, which is, again, what I said would be better than doing them in incompatible ways. cheers ^ permalink raw reply [flat|nested] 92+ messages in thread
* [9fans] Forks of Plan 9 (Was: 9vx instability) 2011-11-25 7:52 ` Francisco J Ballesteros @ 2011-11-25 8:06 ` Lucio De Re 2011-11-25 10:15 ` Francisco J Ballesteros 2011-11-25 13:28 ` Charles Forsyth 0 siblings, 2 replies; 92+ messages in thread From: Lucio De Re @ 2011-11-25 8:06 UTC (permalink / raw) > Also, we are trying to make our changes in a way that they could > help the stock distribution, which is, again, what I said would be > better than doing them in incompatible ways. I understand this is going to be difficult, I don't expect anyone to take this on right now, but I still maintain that there ought to be a single Plan 9 distribution and that nix and 9front ought to be derivable from this. And Code Review ought to be at the core of it. As additional justification, I'd like to point out that the nix sources are alien to me and I don't have the space to install nix and run it so as to contribute to its development, whereas any changes to the original Plan 9 distribution affects my working environment directly, which makes it trivial to submit changes if I develop them. Maybe a middle ground would be to extract from Plan 9, nix and 9front all the code that is not platform specific (like the Go code, for example) and maintain that independently of the platforms. The divergent platforms could then be kept as small as possible. ++L ^ permalink raw reply [flat|nested] 92+ messages in thread
* [9fans] Forks of Plan 9 (Was: 9vx instability) 2011-11-25 8:06 ` Lucio De Re @ 2011-11-25 10:15 ` Francisco J Ballesteros 2011-11-25 13:25 ` Lucio De Re 2011-11-25 13:28 ` Charles Forsyth 1 sibling, 1 reply; 92+ messages in thread From: Francisco J Ballesteros @ 2011-11-25 10:15 UTC (permalink / raw) On Fri, Nov 25, 2011 at 9:06 AM, Lucio De Re <lucio at proxima.alt.za> wrote: > hereas any changes to > the original Plan 9 distribution affects my working environment > directly, which makes it trivial to submit changes if I develop them. > That's what I was saying. We are working in nix in such a way that we hope the code we are working on could be used by the stock Plan 9 in the future. So, it's a fork, but we are still trying to cooperate with everyone else. ^ permalink raw reply [flat|nested] 92+ messages in thread
* [9fans] Forks of Plan 9 (Was: 9vx instability) 2011-11-25 10:15 ` Francisco J Ballesteros @ 2011-11-25 13:25 ` Lucio De Re 0 siblings, 0 replies; 92+ messages in thread From: Lucio De Re @ 2011-11-25 13:25 UTC (permalink / raw) > That's what I was saying. We are working in nix in such a way that we > hope the code we are working on could be used by the stock Plan 9 > in the future. So, it's a fork, but we are still trying to cooperate with > everyone else. Branching seems to be a black hole, though: there is no easy way to bring forks into line with each other unless the divergences are few and very small. In my particular case, there is no way that I can progress from Plan 9 to nix, so there is no room for me to contribute to nix. Now, if we can isolate the portions of the Plan 9 distribution that can grow equally for all forks (9front, nix) from the, hopefully smaller, portions that define the different platforms, we will have a world in which contributions, mechanically, can be propagated everywhere. By making the different sections as small as possible, preferably actively trying to shrink them by propagating changes between them as frequently as possible, we may cause them to converge. But the keyword here is "actively" and demands the allocation of resources or, at minimum, intent that is absent in a competitive environment. ++L ^ permalink raw reply [flat|nested] 92+ messages in thread
* [9fans] Forks of Plan 9 (Was: 9vx instability) 2011-11-25 8:06 ` Lucio De Re 2011-11-25 10:15 ` Francisco J Ballesteros @ 2011-11-25 13:28 ` Charles Forsyth 2011-11-25 13:34 ` Charles Forsyth 2011-11-25 14:26 ` Lucio De Re 1 sibling, 2 replies; 92+ messages in thread From: Charles Forsyth @ 2011-11-25 13:28 UTC (permalink / raw) A timely discussion before producing any code is usually more profitable. On 25 November 2011 08:06, Lucio De Re <lucio at proxima.alt.za> wrote: > And Code Review ought to be at the core of it. ^ permalink raw reply [flat|nested] 92+ messages in thread
* [9fans] Forks of Plan 9 (Was: 9vx instability) 2011-11-25 13:28 ` Charles Forsyth @ 2011-11-25 13:34 ` Charles Forsyth 2011-11-25 14:22 ` Lucio De Re 2011-11-25 14:26 ` Lucio De Re 1 sibling, 1 reply; 92+ messages in thread From: Charles Forsyth @ 2011-11-25 13:34 UTC (permalink / raw) surely it only makes sense that when forks appear the knives come out. ^ permalink raw reply [flat|nested] 92+ messages in thread
* [9fans] Forks of Plan 9 (Was: 9vx instability) 2011-11-25 13:34 ` Charles Forsyth @ 2011-11-25 14:22 ` Lucio De Re 0 siblings, 0 replies; 92+ messages in thread From: Lucio De Re @ 2011-11-25 14:22 UTC (permalink / raw) > surely it only makes sense that when forks appear the knives come out. I guess this is part of the reason I follow 9fans so avidly :-) ++L ^ permalink raw reply [flat|nested] 92+ messages in thread
* [9fans] Forks of Plan 9 (Was: 9vx instability) 2011-11-25 13:28 ` Charles Forsyth 2011-11-25 13:34 ` Charles Forsyth @ 2011-11-25 14:26 ` Lucio De Re 1 sibling, 0 replies; 92+ messages in thread From: Lucio De Re @ 2011-11-25 14:26 UTC (permalink / raw) > A timely discussion before producing any code is usually more profitable. > Unarguably. But a code review system makes sure that lack of discussion is corrected before it is too late. And prior discussion seems pretty scarce around Plan 9. Unless of course IRC is where it all happens, in which case I guess I just don't qualify to comment. > On 25 November 2011 08:06, Lucio De Re <lucio at proxima.alt.za> wrote: >> And Code Review ought to be at the core of it. ^ permalink raw reply [flat|nested] 92+ messages in thread
* [9fans] Forks of Plan 9 (Was: 9vx instability) 2011-11-25 6:45 ` cinap_lenrek at gmx.de 2011-11-25 7:52 ` Francisco J Ballesteros @ 2011-11-25 14:38 ` erik quanstrom 1 sibling, 0 replies; 92+ messages in thread From: erik quanstrom @ 2011-11-25 14:38 UTC (permalink / raw) On Fri Nov 25 01:47:12 EST 2011, cinap_lenrek at gmx.de wrote: > drivers should be pretty portable. > > there are more drastic changes like the eqlock function > that touched many places. its basicly a normal qlock() > that can error() out when the process gets a note or > gets killed. ha! i've written this function independently a few times. and applied it to a few well-chosen places. i stopped short because i wondered if postdawn (e.g. after schedinit() is called), qlock() shouldn't always be an eqlock(). i see this problem most often with networking code. the the first reader is interruptable, but readers 2..n are not. i'd love to hear other opinions on how to solve this problem. - erik ^ permalink raw reply [flat|nested] 92+ messages in thread
[parent not found: <CAHfqX-pxHzzHQdf2Rg=Fo+yKOSxYVX7UdU7j4hQJKYS2c7e4tQ@mail.gmail.c>]
* [9fans] Forks of Plan 9 (Was: 9vx instability) [not found] ` <CAHfqX-pxHzzHQdf2Rg=Fo+yKOSxYVX7UdU7j4hQJKYS2c7e4tQ@mail.gmail.c> @ 2011-11-25 13:55 ` erik quanstrom 2011-11-25 16:56 ` Stanley Lieber [not found] ` <CAHfqX-ot8PRUNW5aH+5zKFQXvd_O+otfE4pBS0HfjfD6-6HQSA@mail.gmail.c> 0 siblings, 2 replies; 92+ messages in thread From: erik quanstrom @ 2011-11-25 13:55 UTC (permalink / raw) > (I know Erik has adopted at least the BCM57xx driver for 9atom). I'm although it's in there, it doesn't work with the bcm57xx hardware i have. so cavet emptor. - erik ^ permalink raw reply [flat|nested] 92+ messages in thread
* [9fans] Forks of Plan 9 (Was: 9vx instability) 2011-11-25 13:55 ` erik quanstrom @ 2011-11-25 16:56 ` Stanley Lieber [not found] ` <CAHfqX-ot8PRUNW5aH+5zKFQXvd_O+otfE4pBS0HfjfD6-6HQSA@mail.gmail.c> 1 sibling, 0 replies; 92+ messages in thread From: Stanley Lieber @ 2011-11-25 16:56 UTC (permalink / raw) On Fri, Nov 25, 2011 at 7:55 AM, erik quanstrom <quanstro at quanstro.net> wrote: >> (I know Erik has adopted at least the BCM57xx driver for 9atom). I'm > > although it's in there, it doesn't work with the bcm57xx hardware i have. > so cavet emptor. You might want to re-synch. Recent changes have caused the BCM5755 in my Thinkcentre M55 to start working. -sl ^ permalink raw reply [flat|nested] 92+ messages in thread
[parent not found: <CAHfqX-ot8PRUNW5aH+5zKFQXvd_O+otfE4pBS0HfjfD6-6HQSA@mail.gmail.c>]
* [9fans] Forks of Plan 9 (Was: 9vx instability) [not found] ` <CAHfqX-ot8PRUNW5aH+5zKFQXvd_O+otfE4pBS0HfjfD6-6HQSA@mail.gmail.c> @ 2011-11-25 22:42 ` erik quanstrom 2011-11-25 23:21 ` Steve Simon 2011-11-26 2:09 ` erik quanstrom 1 sibling, 1 reply; 92+ messages in thread From: erik quanstrom @ 2011-11-25 22:42 UTC (permalink / raw) still not working; doesn't even reset. i've taken a pass at cleaning up the code. the biggest change is using style(6) formatting. also, coherence() is missing when entering ring entries, since the posted write of the ring ptr can pass the memory writes of the ring entry, from the perspective of the pci root complex. and transmit wasn't careful enough not to run into its head. (checking the chip isn't good enough. you have to not run over your own unfreed bps.) - erik -------------- next part -------------- /* * Broadcom BCM57xx * Not implemented: * proper fatal error handling * multiple rings * QoS * checksum offloading */ /* this driver needs some work, and probablly doesn't conform to style(6) */ #include "u.h" #include "../port/lib.h" #include "mem.h" #include "dat.h" #include "fns.h" #include "io.h" #include "../port/error.h" #include "../port/netif.h" #include "etherif.h" #define dprint(...) do{ if(debug)print(__VA_ARGS__); }while(0) #define Rbsz ROUNDUP(sizeof(Etherpkt)+4, 4) #define Pciwaddrl(x) PCIWADDR(x) #define Pciwaddrh(x) (sizeof(uintptr)>4? (uvlong)PCIWADDR(x)>>32: 0) typedef struct Ctlr Ctlr; struct Ctlr { Lock txlock, imlock; Ctlr *next; Pcidev *pdev; ulong *nic, *status; ulong *recvret, *recvprod, *sendr; ulong port; ulong recvreti, recvprodi, sendri, sendcleani; Block **sends; Block **rxs; int active, duplex; uint nobuf; uint partial; uint rxerr; uint qfull; uint dmaerr; }; enum { RecvRetRingLen = 0x200, RecvProdRingLen = 0x200, SendRingLen = 0x200, Reset = 1<<0, Enable = 1<<1, Attn = 1<<2, PowerControlStatus = 0x4C, MiscHostCtl = 0x68, ClearIntA = 1<<0, MaskPCIInt = 1<<1, IndirectAccessEnable = 1<<7, EnablePCIStateRegister = 1<<4, EnableClockControlRegister = 1<<5, TaggedStatus = 1<<9, Fwmbox = 0x0b50, /* magic value exchange */ Fwmagic = 0x4b657654, DMARWControl = 0x6C, DMAWatermarkMask = ~(7<<19), DMAWatermarkValue = 3<<19, MemoryWindow = 0x7C, MemoryWindowData = 0x84, SendRCB = 0x100, RecvRetRCB = 0x200, InterruptMailbox = 0x204, RecvProdBDRingIndex = 0x26c, RecvBDRetRingIndex = 0x284, SendBDRingHostIndex = 0x304, MACMode = 0x400, MACPortMask = ~((1<<3)|(1<<2)), MACPortGMII = 1<<3, MACPortMII = 1<<2, MACEnable = (1<<23) | (1<<22) | (1<<21) | (1 << 15) | (1 << 14) | (1<<12) | (1<<11), MACHalfDuplex = 1<<1, MACEventStatus = 0x404, MACEventEnable = 0x408, MACAddress = 0x410, EthernetRandomBackoff = 0x438, ReceiveMTU = 0x43C, MIComm = 0x44C, MIStatus = 0x450, MIMode = 0x454, ReceiveMACMode = 0x468, TransmitMACMode = 0x45C, TransmitMACLengths = 0x464, MACHash = 0x470, ReceiveRules = 0x480, ReceiveRulesConfiguration = 0x500, LowWatermarkMaximum = 0x504, LowWatermarkMaxMask = ~0xFFFF, LowWatermarkMaxValue = 2, SendDataInitiatorMode = 0xC00, SendInitiatorConfiguration = 0x0C08, SendStats = 1<<0, SendInitiatorMask = 0x0C0C, SendDataCompletionMode = 0x1000, SendBDSelectorMode = 0x1400, SendBDInitiatorMode = 0x1800, SendBDCompletionMode = 0x1C00, ReceiveListPlacementMode = 0x2000, ReceiveListPlacement = 0x2010, ReceiveListPlacementConfiguration = 0x2014, ReceiveStats = 1<<0, ReceiveListPlacementMask = 0x2018, ReceiveDataBDInitiatorMode = 0x2400, ReceiveBDHostAddr = 0x2450, ReceiveBDFlags = 0x2458, ReceiveBDNIC = 0x245C, ReceiveDataCompletionMode = 0x2800, ReceiveBDInitiatorMode = 0x2C00, ReceiveBDRepl = 0x2C18, ReceiveBDCompletionMode = 0x3000, HostCoalescingMode = 0x3C00, HostCoalescingRecvTicks = 0x3C08, HostCoalescingSendTicks = 0x3C0C, RecvMaxCoalescedFrames = 0x3C10, SendMaxCoalescedFrames = 0x3C14, RecvMaxCoalescedFramesInt = 0x3C20, SendMaxCoalescedFramesInt = 0x3C24, StatusBlockHostAddr = 0x3C38, FlowAttention = 0x3C48, MemArbiterMode = 0x4000, BufferManMode = 0x4400, MBUFLowWatermark = 0x4414, MBUFHighWatermark = 0x4418, ReadDMAMode = 0x4800, ReadDMAStatus = 0x4804, WriteDMAMode = 0x4C00, WriteDMAStatus = 0x4C04, RISCState = 0x5004, FTQReset = 0x5C00, MSIMode = 0x6000, ModeControl = 0x6800, ByteWordSwap = (1<<4)|(1<<5)|(1<<2),//|(1<<1), HostStackUp = 1<<16, HostSendBDs = 1<<17, InterruptOnMAC = 1<<26, MiscConfiguration = 0x6804, CoreClockBlocksReset = 1<<0, GPHYPowerDownOverride = 1<<26, DisableGRCResetOnPCIE = 1<<29, TimerMask = ~0xFF, TimerValue = 65<<1, MiscLocalControl = 0x6808, InterruptOnAttn = 1<<3, AutoSEEPROM = 1<<24, SwArbitration = 0x7020, SwArbitSet1 = 1<<1, SwArbitWon1 = 1<<9, TLPControl = 0x7C00, PhyControl = 0x00, PhyStatus = 0x01, PhyLinkStatus = 1<<2, PhyAutoNegComplete = 1<<5, PhyPartnerStatus = 0x05, Phy100FD = 1<<8, Phy100HD = 1<<7, Phy10FD = 1<<6, Phy10HD = 1<<5, PhyGbitStatus = 0x0A, Phy1000FD = 1<<12, Phy1000HD = 1<<11, PhyAuxControl = 0x18, PhyIntStatus = 0x1A, PhyIntMask = 0x1B, Updated = 1<<0, LinkStateChange = 1<<1, Error = 1<<2, PacketEnd = 1<<2, FrameError = 1<<10, }; #define csr32(c, r) ((c)->nic[(r)/4]) #define mem32(c, r) csr32(c, (r)+0x8000) static Ctlr *bcmhead; static int debug=1; static long bcmifstat(Ether *edev, void *a, long n, ulong offset) { char *s, *p, *e; Ctlr *c; c = edev->ctlr; p = s = malloc(READSTR); e = p + READSTR; p = seprint(p, e, "nobuf %ud\n", c->nobuf); p = seprint(p, e, "partial %ud\n", c->partial); p = seprint(p, e, "rxerr %ud\n", c->rxerr); p = seprint(p, e, "qfull %ud\n", c->qfull); p = seprint(p, e, "dmaerr %ud\n", c->dmaerr); USED(p); n = readstr(offset, a, n, s); free(s); return n; } static int miir(Ctlr *ctlr, int ra) { while(csr32(ctlr, MIComm) & (1<<29)) ; csr32(ctlr, MIComm) = (ra << 16) | (1 << 21) | (1 << 27) | (1 << 29); while(csr32(ctlr, MIComm) & (1<<29)) ; if(csr32(ctlr, MIComm) & (1<<28)) return -1; return csr32(ctlr, MIComm) & 0xFFFF; } static int miiw(Ctlr *ctlr, int ra, int value) { while(csr32(ctlr, MIComm) & (1<<29)) ; csr32(ctlr, MIComm) = (value & 0xFFFF) | (ra << 16) | (1 << 21) | (1 << 27) | (1 << 29); while(csr32(ctlr, MIComm) & (1<<29)) ; return 0; } static void checklink(Ether *edev) { ulong i; Ctlr *ctlr; ctlr = edev->ctlr; miir(ctlr, PhyStatus); /* dummy read necessary */ if(!(miir(ctlr, PhyStatus) & PhyLinkStatus)) { edev->link = 0; edev->mbps = 1000; ctlr->duplex = 1; dprint("bcm: no link\n"); goto out; } edev->link = 1; while((miir(ctlr, PhyStatus) & PhyAutoNegComplete) == 0) ; i = miir(ctlr, PhyGbitStatus); if(i & (Phy1000FD | Phy1000HD)) { edev->mbps = 1000; ctlr->duplex = (i & Phy1000FD) != 0; } else if(i = miir(ctlr, PhyPartnerStatus), i & (Phy100FD | Phy100HD)) { edev->mbps = 100; ctlr->duplex = (i & Phy100FD) != 0; } else if(i & (Phy10FD | Phy10HD)) { edev->mbps = 10; ctlr->duplex = (i & Phy10FD) != 0; } else { edev->link = 0; edev->mbps = 1000; ctlr->duplex = 1; dprint("bcm: link partner supports neither 10/100/1000 Mbps\n"); goto out; } dprint("bcm: %d Mbps link, %s duplex\n", edev->mbps, ctlr->duplex ? "full" : "half"); out: if(ctlr->duplex) csr32(ctlr, MACMode) &= ~MACHalfDuplex; else csr32(ctlr, MACMode) |= MACHalfDuplex; if(edev->mbps >= 1000) csr32(ctlr, MACMode) = (csr32(ctlr, MACMode) & MACPortMask) | MACPortGMII; else csr32(ctlr, MACMode) = (csr32(ctlr, MACMode) & MACPortMask) | MACPortMII; csr32(ctlr, MACEventStatus) |= (1<<4) | (1<<3); /* undocumented bits (sync and config changed) */ } static ulong* currentrecvret(Ctlr *ctlr) { if(ctlr->recvreti == (ctlr->status[4] & 0xFFFF)) return 0; return ctlr->recvret + ctlr->recvreti * 8; } static void consumerecvret(Ctlr *ctlr) { ctlr->recvreti = ctlr->recvreti+1 & RecvRetRingLen-1; csr32(ctlr, RecvBDRetRingIndex) = ctlr->recvreti; } static int replenish(Ctlr *ctlr) { ulong *next, incr; Block *bp; incr = (ctlr->recvprodi + 1) & (RecvProdRingLen - 1); if(incr == (ctlr->status[2] >> 16)) return -1; bp = iallocb(Rbsz); if(bp == nil) { /* iallocb never fails. this code is unnecessary */ dprint("bcm: out of memory for receive buffers\n"); ctlr->nobuf++; return -1; } next = ctlr->recvprod + ctlr->recvprodi * 8; memset(next, 0, 32); next[0] = Pciwaddrh(bp->rp); next[1] = Pciwaddrl(bp->rp); next[2] = Rbsz; next[7] = ctlr->recvprodi; ctlr->rxs[ctlr->recvprodi] = bp; coherence(); csr32(ctlr, RecvProdBDRingIndex) = ctlr->recvprodi = incr; return 0; } static void bcmreceive(Ether *edev) { ulong *pkt, len; Ctlr *ctlr; Block *bp; ctlr = edev->ctlr; for(; pkt = currentrecvret(ctlr); replenish(ctlr), consumerecvret(ctlr)) { bp = ctlr->rxs[pkt[7]]; len = pkt[2] & 0xFFFF; bp->wp = bp->rp + len; if((pkt[3] & PacketEnd) == 0){ dprint("bcm: partial frame received -- shouldn't happen\n"); ctlr->partial++; freeb(bp); continue; } if(pkt[3] & FrameError){ ctlr->rxerr++; freeb(bp); continue; } etheriq(edev, bp, 1); } } static void bcmtransclean(Ether *edev) { Ctlr *ctlr; ctlr = edev->ctlr; ilock(&ctlr->txlock); while(ctlr->sendcleani != (ctlr->status[4] >> 16)) { freeb(ctlr->sends[ctlr->sendcleani]); ctlr->sends[ctlr->sendcleani] = nil; ctlr->sendcleani = (ctlr->sendcleani + 1) & (SendRingLen - 1); } iunlock(&ctlr->txlock); } static void bcmtransmit(Ether *edev) { ulong *next, incr; Ctlr *ctlr; Block *bp; ctlr = edev->ctlr; ilock(&ctlr->txlock); for(;;){ incr = (ctlr->sendri + 1) & (SendRingLen - 1); if(incr == ctlr->sendcleani) { dprint("bcm: send queue full\n"); ctlr->qfull++; break; } bp = qget(edev->oq); if(bp == nil) break; next = ctlr->sendr + ctlr->sendri * 4; next[0] = Pciwaddrh(bp->rp); next[1] = Pciwaddrl(bp->rp); next[2] = (BLEN(bp) << 16) | PacketEnd; next[3] = 0; ctlr->sends[ctlr->sendri] = bp; coherence(); csr32(ctlr, SendBDRingHostIndex) = ctlr->sendri = incr; } iunlock(&ctlr->txlock); } static void bcmerror(Ether *edev) { Ctlr *ctlr; ctlr = edev->ctlr; if(csr32(ctlr, FlowAttention)) { if(csr32(ctlr, FlowAttention) & 0xf8ff8080) print("bcm: fatal error %#.8lux", csr32(ctlr, FlowAttention)); csr32(ctlr, FlowAttention) = 0; } csr32(ctlr, MACEventStatus) = 0; /* worth ignoring */ if(csr32(ctlr, ReadDMAStatus) || csr32(ctlr, WriteDMAStatus)) { dprint("bcm: DMA error\n"); ctlr->dmaerr++; csr32(ctlr, ReadDMAStatus) = 0; csr32(ctlr, WriteDMAStatus) = 0; } if(csr32(ctlr, RISCState)) { if(csr32(ctlr, RISCState) & 0x78000403) print("bcm: RISC halted %#.8lux", csr32(ctlr, RISCState)); csr32(ctlr, RISCState) = 0; } } static void bcminterrupt(Ureg*, void *arg) { ulong status, tag, dummy; Ether *edev; Ctlr *ctlr; edev = arg; ctlr = edev->ctlr; ilock(&ctlr->imlock); dummy = csr32(ctlr, InterruptMailbox); USED(dummy); csr32(ctlr, InterruptMailbox) = 1; status = ctlr->status[0]; tag = ctlr->status[1]; ctlr->status[0] = 0; if(status & Error) bcmerror(edev); if(status & LinkStateChange) checklink(edev); iprint("bcm: interrupt %8lux %8lux\n", ctlr->status[2], ctlr->status[4]); bcmreceive(edev); bcmtransclean(edev); bcmtransmit(edev); csr32(ctlr, InterruptMailbox) = tag << 24; iunlock(&ctlr->imlock); } static int bcminit(Ether *edev) { ulong i, j; Ctlr *ctlr; ctlr = edev->ctlr; dprint("bcm: reset\n"); /* initialization procedure according to the datasheet */ csr32(ctlr, MiscHostCtl) |= MaskPCIInt | ClearIntA; csr32(ctlr, SwArbitration) |= SwArbitSet1; for(i = 0;; i += 100){ if((csr32(ctlr, SwArbitration) & SwArbitWon1)) break; if(i == 2000 /* ?s */){ print("bcm: arbiter failed to respond\n"); return -1; } microdelay(100); } csr32(ctlr, MemArbiterMode) |= Enable; csr32(ctlr, MiscHostCtl) |= IndirectAccessEnable | EnablePCIStateRegister | EnableClockControlRegister; csr32(ctlr, MemoryWindow) = 0; mem32(ctlr, Fwmbox) = Fwmagic; csr32(ctlr, MiscConfiguration) |= GPHYPowerDownOverride | DisableGRCResetOnPCIE; csr32(ctlr, MiscConfiguration) |= CoreClockBlocksReset; delay(100); ctlr->pdev->pcr |= 1<<1; pcisetbme(ctlr->pdev); csr32(ctlr, MiscHostCtl) |= MaskPCIInt; csr32(ctlr, MemArbiterMode) |= Enable; csr32(ctlr, MiscHostCtl) |= IndirectAccessEnable | EnablePCIStateRegister | EnableClockControlRegister | TaggedStatus; csr32(ctlr, ModeControl) |= ByteWordSwap; csr32(ctlr, MACMode) = (csr32(ctlr, MACMode) & MACPortMask) | MACPortGMII; delay(40); for(i = 0;; i += 100){ if(mem32(ctlr, Fwmbox) == ~Fwmagic) break; if(i == 20*10000 /* ?s */){ print("bcm: fw failed to respond %#.8lux\n", mem32(ctlr, Fwmbox)); break; //return -1; } microdelay(100); } csr32(ctlr, TLPControl) |= (1<<25) | (1<<29); memset(ctlr->status, 0, 20); csr32(ctlr, DMARWControl) = (csr32(ctlr, DMARWControl) & DMAWatermarkMask) | DMAWatermarkValue; csr32(ctlr, ModeControl) |= HostSendBDs | HostStackUp | InterruptOnMAC; csr32(ctlr, MiscConfiguration) = (csr32(ctlr, MiscConfiguration) & TimerMask) | TimerValue; csr32(ctlr, MBUFLowWatermark) = 0x20; csr32(ctlr, MBUFHighWatermark) = 0x60; csr32(ctlr, LowWatermarkMaximum) = (csr32(ctlr, LowWatermarkMaximum) & LowWatermarkMaxMask) | LowWatermarkMaxValue; csr32(ctlr, BufferManMode) |= Enable | Attn; while((csr32(ctlr, BufferManMode) & Enable) == 0) ; csr32(ctlr, FTQReset) = -1; csr32(ctlr, FTQReset) = 0; while(csr32(ctlr, FTQReset)) ; csr32(ctlr, ReceiveBDHostAddr) = Pciwaddrh(ctlr->recvprod); csr32(ctlr, ReceiveBDHostAddr + 4) = Pciwaddrl(ctlr->recvprod); csr32(ctlr, ReceiveBDFlags) = RecvProdRingLen << 16; csr32(ctlr, ReceiveBDNIC) = 0x6000; csr32(ctlr, ReceiveBDRepl) = 25; csr32(ctlr, SendBDRingHostIndex) = 0; csr32(ctlr, SendBDRingHostIndex+4) = 0; mem32(ctlr, SendRCB) = Pciwaddrh(ctlr->sendr); mem32(ctlr, SendRCB + 4) = Pciwaddrl(ctlr->sendr); mem32(ctlr, SendRCB + 8) = SendRingLen << 16; mem32(ctlr, SendRCB + 12) = 0x4000; for(i=1;i<4;i++) mem32(ctlr, RecvRetRCB + i * 0x10 + 8) = 2; mem32(ctlr, RecvRetRCB) = Pciwaddrh(ctlr->recvret); mem32(ctlr, RecvRetRCB + 4) = Pciwaddrl(ctlr->recvret); mem32(ctlr, RecvRetRCB + 8) = RecvRetRingLen << 16; csr32(ctlr, RecvProdBDRingIndex) = 0; csr32(ctlr, RecvProdBDRingIndex+4) = 0; /* this delay is not in the datasheet, but necessary */ delay(1); i = csr32(ctlr, MACAddress); j = edev->ea[0] = i >> 8; j += edev->ea[1] = i; i = csr32(ctlr, MACAddress + 4); j += edev->ea[2] = i >> 24; j += edev->ea[3] = i >> 16; j += edev->ea[4] = i >> 8; j += edev->ea[5] = i; csr32(ctlr, EthernetRandomBackoff) = j & 0x3FF; csr32(ctlr, ReceiveMTU) = Rbsz; csr32(ctlr, TransmitMACLengths) = 0x2620; csr32(ctlr, ReceiveListPlacement) = 1<<3; /* one list */ csr32(ctlr, ReceiveListPlacementMask) = 0xFFFFFF; csr32(ctlr, ReceiveListPlacementConfiguration) |= ReceiveStats; csr32(ctlr, SendInitiatorMask) = 0xFFFFFF; csr32(ctlr, SendInitiatorConfiguration) |= SendStats; csr32(ctlr, HostCoalescingMode) = 0; while(csr32(ctlr, HostCoalescingMode) != 0) ; csr32(ctlr, HostCoalescingRecvTicks) = 150; csr32(ctlr, HostCoalescingSendTicks) = 150; csr32(ctlr, RecvMaxCoalescedFrames) = 10; csr32(ctlr, SendMaxCoalescedFrames) = 10; csr32(ctlr, RecvMaxCoalescedFramesInt) = 0; csr32(ctlr, SendMaxCoalescedFramesInt) = 0; csr32(ctlr, StatusBlockHostAddr) = Pciwaddrh(ctlr->status); csr32(ctlr, StatusBlockHostAddr + 4) = Pciwaddrl(ctlr->status); csr32(ctlr, HostCoalescingMode) |= Enable; csr32(ctlr, ReceiveBDCompletionMode) |= Enable | Attn; csr32(ctlr, ReceiveListPlacementMode) |= Enable; csr32(ctlr, MACMode) |= MACEnable; csr32(ctlr, MiscLocalControl) |= InterruptOnAttn | AutoSEEPROM; csr32(ctlr, InterruptMailbox) = 0; csr32(ctlr, WriteDMAMode) |= 0x200003fe; /* pulled out of my nose */ csr32(ctlr, ReadDMAMode) |= 0x3fe; csr32(ctlr, ReceiveDataCompletionMode) |= Enable | Attn; csr32(ctlr, SendDataCompletionMode) |= Enable; csr32(ctlr, SendBDCompletionMode) |= Enable | Attn; csr32(ctlr, ReceiveBDInitiatorMode) |= Enable | Attn; csr32(ctlr, ReceiveDataBDInitiatorMode) |= Enable | (1<<4); csr32(ctlr, SendDataInitiatorMode) |= Enable; csr32(ctlr, SendBDInitiatorMode) |= Enable | Attn; csr32(ctlr, SendBDSelectorMode) |= Enable | Attn; ctlr->recvprodi = 0; while(replenish(ctlr) >= 0) ; csr32(ctlr, TransmitMACMode) |= Enable; csr32(ctlr, ReceiveMACMode) |= Enable; csr32(ctlr, PowerControlStatus) &= ~3; csr32(ctlr, MIStatus) |= 1<<0; csr32(ctlr, MACEventEnable) = 0; csr32(ctlr, MACEventStatus) |= (1<<12); csr32(ctlr, MIMode) = 0xC0000; microdelay(40); miiw(ctlr, PhyControl, 1<<15); while(miir(ctlr, PhyControl) & (1<<15)) ; for(i = 0;; i += 100){ if((miir(ctlr, PhyControl) & (1<<15)) == 0) break; if(i == 10000 /* ?s */){ print("bcm: phy reset failure\n"); return -1; } microdelay(100); } miiw(ctlr, PhyAuxControl, 2); miir(ctlr, PhyIntStatus); miir(ctlr, PhyIntStatus); miiw(ctlr, PhyIntMask, ~(1<<1)); checklink(edev); csr32(ctlr, MACEventEnable) |= 1<<12; csr32(ctlr, MACHash) = -1; csr32(ctlr, MACHash+4) = -1; csr32(ctlr, MACHash+8) = -1; csr32(ctlr, MACHash+12) = -1; for(i = 0; i < 8; i++) csr32(ctlr, ReceiveRules + 8 * i) = 0; csr32(ctlr, ReceiveRulesConfiguration) = 1 << 3; csr32(ctlr, MSIMode) |= Enable; csr32(ctlr, MiscHostCtl) &= ~(MaskPCIInt | ClearIntA); return 0; } static void bcmpci(void) { void *mem; Ctlr *ctlr, **xx; Pcidev *p; xx = &bcmhead; for(p = nil; p = pcimatch(p, 0, 0); ) { if(p->ccrb != 2 || p->ccru != 0) continue; switch(p->vid<<16 | p->did){ default: continue; case 0x14e4165a: case 0x14e4167d: case 0x14e41670: case 0x14e41672: case 0x14e41673: case 0x14e41674: case 0x14e41677: case 0x14e4167a: case 0x14e4167b: case 0x14e41693: case 0x14e4169b: case 0x14e41712: case 0x14e41713: break; } pcisetbme(p); pcisetpms(p, 0); ctlr = malloc(sizeof(Ctlr)); if(ctlr == nil) continue; ctlr->port = p->mem[0].bar & ~0x0F; mem = vmap(ctlr->port, p->mem[0].size); if(mem == nil) { print("bcm: can't map %#p\n", ctlr->port); free(ctlr); continue; } ctlr->pdev = p; ctlr->nic = mem; ctlr->status = xspanalloc(20, 16, 0); ctlr->recvprod = xspanalloc(32 * RecvProdRingLen, 16, 0); ctlr->recvret = xspanalloc(32 * RecvRetRingLen, 16, 0); ctlr->sendr = xspanalloc(16 * SendRingLen, 16, 0); ctlr->sends = malloc(sizeof *ctlr->sends * SendRingLen); ctlr->rxs = malloc(sizeof *ctlr->sends * SendRingLen); *xx = ctlr; xx = &ctlr->next; } } static void bcmpromiscuous(void* arg, int on) { Ctlr *ctlr; ctlr = ((Ether*)arg)->ctlr; if(on) csr32(ctlr, ReceiveMACMode) |= 1<<8; else csr32(ctlr, ReceiveMACMode) &= ~(1<<8); } static void bcmmulticast(void*, uchar*, int) { } static int bcmpnp(Ether* edev) { Ctlr *ctlr; static int done; if(done == 0){ bcmpci(); done = 1; } redux: for(ctlr = bcmhead; ; ctlr = ctlr->next) { if(ctlr == nil) return -1; if(ctlr->active) continue; if(edev->port == 0 || edev->port == ctlr->port) { ctlr->active = 1; break; } } edev->ctlr = ctlr; edev->port = ctlr->port; edev->irq = ctlr->pdev->intl; edev->tbdf = ctlr->pdev->tbdf; edev->interrupt = bcminterrupt; edev->ifstat = bcmifstat; edev->transmit = bcmtransmit; edev->multicast = bcmmulticast; edev->promiscuous = bcmpromiscuous; edev->arg = edev; edev->mbps = 1000; if(bcminit(edev) == -1) goto redux; return 0; } void etherbcmlink(void) { addethercard("bcm57xx", bcmpnp); } ^ permalink raw reply [flat|nested] 92+ messages in thread
* [9fans] Forks of Plan 9 (Was: 9vx instability) 2011-11-25 22:42 ` erik quanstrom @ 2011-11-25 23:21 ` Steve Simon 2011-11-25 23:39 ` erik quanstrom 0 siblings, 1 reply; 92+ messages in thread From: Steve Simon @ 2011-11-25 23:21 UTC (permalink / raw) re: etherbcm.c thanks, Again it will have to wait till monday for me to try. BTW I'am not sure if I emphasised enough how grateful I am for all your patient work in getting SSE working. Its great to make progress on this, though the performance of opera + linuxemu + equis (fgb's X11 server) is not great. Its enough to drag my 3.5Ghz P4 to its knees just browsing around! Having said this there avenues for optimisation, but I need to measure and not guuess (no matter how tempting :-) where the problems lie. -Steve ^ permalink raw reply [flat|nested] 92+ messages in thread
* [9fans] Forks of Plan 9 (Was: 9vx instability) 2011-11-25 23:21 ` Steve Simon @ 2011-11-25 23:39 ` erik quanstrom 2011-11-27 14:52 ` Charles Forsyth 0 siblings, 1 reply; 92+ messages in thread From: erik quanstrom @ 2011-11-25 23:39 UTC (permalink / raw) > BTW I'am not sure if I emphasised enough how grateful I am for all your > patient work in getting SSE working. really it's no problem. it's something that i'd worked on before, and had to leave behind. ideally, i'd like to be able to use sse with 8[acl]. but that means that i (a) have to figure out how to make /proc/$pid/regs work with sse/nonsse or (b) need to come up with a new arch that's a lot like 8/386/pc. perhaps 4/p6/p6. p6 was the first sse2-implementing arch. - erik ^ permalink raw reply [flat|nested] 92+ messages in thread
* [9fans] Forks of Plan 9 (Was: 9vx instability) 2011-11-25 23:39 ` erik quanstrom @ 2011-11-27 14:52 ` Charles Forsyth 0 siblings, 0 replies; 92+ messages in thread From: Charles Forsyth @ 2011-11-27 14:52 UTC (permalink / raw) once 64-bit plan 9 (in whatever guise) is stable, you might just as well use that for SSE. i did think about putting the 6c changes back into 8c, but there are still x86-32 systems that offer only 387s. mind you, with an SSE [subset] emulator to replace fp387.c, those systems might just as well use emulated SSE. i can't imagine people do much FP on them, especially using Plan 9. On 25 November 2011 23:39, erik quanstrom <quanstro at quanstro.net> wrote: > ideally, i'd like to be able to use sse with 8[acl]. ^ permalink raw reply [flat|nested] 92+ messages in thread
* [9fans] Forks of Plan 9 (Was: 9vx instability) [not found] ` <CAHfqX-ot8PRUNW5aH+5zKFQXvd_O+otfE4pBS0HfjfD6-6HQSA@mail.gmail.c> 2011-11-25 22:42 ` erik quanstrom @ 2011-11-26 2:09 ` erik quanstrom 1 sibling, 0 replies; 92+ messages in thread From: erik quanstrom @ 2011-11-26 2:09 UTC (permalink / raw) fixed for my hw. the really key bit was setting the endianness properly. this may have been set up by your pxe hardware or bios, if your bcm chip was built-in. i've updated 9atom with this driver. - erik -------------- next part -------------- /* * Broadcom BCM57xx * Not implemented: * proper fatal error handling * multiple rings * QoS * checksum offloading */ /* this driver needs some work, and probablly doesn't conform to style(6) */ #include "u.h" #include "../port/lib.h" #include "mem.h" #include "dat.h" #include "fns.h" #include "io.h" #include "../port/error.h" #include "../port/netif.h" #include "etherif.h" #define dprint(...) do{ if(debug)print(__VA_ARGS__); }while(0) #define Rbsz ROUNDUP(sizeof(Etherpkt)+4, 4) #define Pciwaddrl(x) PCIWADDR(x) #define Pciwaddrh(x) (sizeof(uintptr)>4? (uvlong)PCIWADDR(x)>>32: 0) typedef struct Ctlr Ctlr; struct Ctlr { Lock txlock, imlock; Ctlr *next; Pcidev *pdev; ulong *nic, *status; ulong *recvret, *recvprod, *sendr; ulong port; ulong recvreti, recvprodi, sendri, sendcleani; Block **sends; Block **rxs; int active, duplex; uint nobuf; uint partial; uint rxerr; uint qfull; uint dmaerr; }; enum { RecvRetRingLen = 0x200, RecvProdRingLen = 0x200, SendRingLen = 0x200, Reset = 1<<0, Enable = 1<<1, Attn = 1<<2, PowerControlStatus = 0x4C, MiscHostCtl = 0x68, TaggedStatus = 1<<9, IndirectAccessEnable = 1<<7, EnableClockControl = 1<<5, EnablePCIStateRegister = 1<<4, WordSwap = 1<<3, ByteSwap = 1<<2, MaskPCIInt = 1<<1, ClearIntA = 1<<0, Fwmbox = 0x0b50, /* magic value exchange */ Fwmagic = 0x4b657654, DMARWControl = 0x6C, DMAWatermarkMask = ~(7<<19), DMAWatermarkValue = 3<<19, MemoryWindow = 0x7C, MemoryWindowData = 0x84, SendRCB = 0x100, RecvRetRCB = 0x200, InterruptMailbox = 0x204, RecvProdBDRingIndex = 0x26c, RecvBDRetRingIndex = 0x284, SendBDRingHostIndex = 0x304, MACMode = 0x400, MACPortMask = ~((1<<3)|(1<<2)), MACPortGMII = 1<<3, MACPortMII = 1<<2, MACEnable = (1<<23) | (1<<22) | (1<<21) | (1 << 15) | (1 << 14) | (1<<12) | (1<<11), MACHalfDuplex = 1<<1, MACEventStatus = 0x404, MACEventEnable = 0x408, MACAddress = 0x410, EthernetRandomBackoff = 0x438, ReceiveMTU = 0x43C, MIComm = 0x44C, MIStatus = 0x450, MIMode = 0x454, ReceiveMACMode = 0x468, TransmitMACMode = 0x45C, TransmitMACLengths = 0x464, MACHash = 0x470, ReceiveRules = 0x480, ReceiveRulesConfiguration = 0x500, LowWatermarkMaximum = 0x504, LowWatermarkMaxMask = ~0xFFFF, LowWatermarkMaxValue = 2, SendDataInitiatorMode = 0xC00, SendInitiatorConfiguration = 0x0C08, SendStats = 1<<0, SendInitiatorMask = 0x0C0C, SendDataCompletionMode = 0x1000, SendBDSelectorMode = 0x1400, SendBDInitiatorMode = 0x1800, SendBDCompletionMode = 0x1C00, ReceiveListPlacementMode = 0x2000, ReceiveListPlacement = 0x2010, ReceiveListPlacementConfiguration = 0x2014, ReceiveStats = 1<<0, ReceiveListPlacementMask = 0x2018, ReceiveDataBDInitiatorMode = 0x2400, ReceiveBDHostAddr = 0x2450, ReceiveBDFlags = 0x2458, ReceiveBDNIC = 0x245C, ReceiveDataCompletionMode = 0x2800, ReceiveBDInitiatorMode = 0x2C00, ReceiveBDRepl = 0x2C18, ReceiveBDCompletionMode = 0x3000, HostCoalescingMode = 0x3C00, HostCoalescingRecvTicks = 0x3C08, HostCoalescingSendTicks = 0x3C0C, RecvMaxCoalescedFrames = 0x3C10, SendMaxCoalescedFrames = 0x3C14, RecvMaxCoalescedFramesInt = 0x3C20, SendMaxCoalescedFramesInt = 0x3C24, StatusBlockHostAddr = 0x3C38, FlowAttention = 0x3C48, MemArbiterMode = 0x4000, BufferManMode = 0x4400, MBUFLowWatermark = 0x4414, MBUFHighWatermark = 0x4418, ReadDMAMode = 0x4800, ReadDMAStatus = 0x4804, WriteDMAMode = 0x4C00, WriteDMAStatus = 0x4C04, RISCState = 0x5004, FTQReset = 0x5C00, MSIMode = 0x6000, ModeControl = 0x6800, ByteWordSwap = (1<<4)|(1<<5)|(1<<2),//|(1<<1), HostStackUp = 1<<16, HostSendBDs = 1<<17, InterruptOnMAC = 1<<26, MiscConfiguration = 0x6804, CoreClockBlocksReset = 1<<0, GPHYPowerDownOverride = 1<<26, DisableGRCResetOnPCIE = 1<<29, TimerMask = ~0xFF, TimerValue = 65<<1, MiscLocalControl = 0x6808, InterruptOnAttn = 1<<3, AutoSEEPROM = 1<<24, SwArbitration = 0x7020, SwArbitSet1 = 1<<1, SwArbitWon1 = 1<<9, TLPControl = 0x7C00, PhyControl = 0x00, PhyStatus = 0x01, PhyLinkStatus = 1<<2, PhyAutoNegComplete = 1<<5, PhyPartnerStatus = 0x05, Phy100FD = 1<<8, Phy100HD = 1<<7, Phy10FD = 1<<6, Phy10HD = 1<<5, PhyGbitStatus = 0x0A, Phy1000FD = 1<<12, Phy1000HD = 1<<11, PhyAuxControl = 0x18, PhyIntStatus = 0x1A, PhyIntMask = 0x1B, Updated = 1<<0, LinkStateChange = 1<<1, Error = 1<<2, PacketEnd = 1<<2, FrameError = 1<<10, }; #define csr32(c, r) ((c)->nic[(r)/4]) static Ctlr *bcmhead; static int debug=1; static long bcmifstat(Ether *edev, void *a, long n, ulong offset) { char *s, *p, *e; Ctlr *c; c = edev->ctlr; p = s = malloc(READSTR); e = p + READSTR; p = seprint(p, e, "nobuf %ud\n", c->nobuf); p = seprint(p, e, "partial %ud\n", c->partial); p = seprint(p, e, "rxerr %ud\n", c->rxerr); p = seprint(p, e, "qfull %ud\n", c->qfull); p = seprint(p, e, "dmaerr %ud\n", c->dmaerr); USED(p); n = readstr(offset, a, n, s); free(s); return n; } static int miir(Ctlr *ctlr, int ra) { while(csr32(ctlr, MIComm) & (1<<29)) ; csr32(ctlr, MIComm) = (ra << 16) | (1 << 21) | (1 << 27) | (1 << 29); while(csr32(ctlr, MIComm) & (1<<29)) ; if(csr32(ctlr, MIComm) & (1<<28)) return -1; return csr32(ctlr, MIComm) & 0xFFFF; } static int miiw(Ctlr *ctlr, int ra, int value) { while(csr32(ctlr, MIComm) & (1<<29)) ; csr32(ctlr, MIComm) = (value & 0xFFFF) | (ra << 16) | (1 << 21) | (1 << 27) | (1 << 29); while(csr32(ctlr, MIComm) & (1<<29)) ; return 0; } static void checklink(Ether *edev) { ulong i; Ctlr *ctlr; ctlr = edev->ctlr; miir(ctlr, PhyStatus); /* read twice for current status as per 802.3 */ if(!(miir(ctlr, PhyStatus) & PhyLinkStatus)) { edev->link = 0; edev->mbps = 1000; ctlr->duplex = 1; dprint("bcm: no link\n"); goto out; } edev->link = 1; while((miir(ctlr, PhyStatus) & PhyAutoNegComplete) == 0) ; i = miir(ctlr, PhyGbitStatus); if(i & (Phy1000FD | Phy1000HD)) { edev->mbps = 1000; ctlr->duplex = (i & Phy1000FD) != 0; } else if(i = miir(ctlr, PhyPartnerStatus), i & (Phy100FD | Phy100HD)) { edev->mbps = 100; ctlr->duplex = (i & Phy100FD) != 0; } else if(i & (Phy10FD | Phy10HD)) { edev->mbps = 10; ctlr->duplex = (i & Phy10FD) != 0; } else { edev->link = 0; edev->mbps = 1000; ctlr->duplex = 1; dprint("bcm: link partner supports neither 10/100/1000 Mbps\n"); goto out; } dprint("bcm: %d Mbps link, %s duplex\n", edev->mbps, ctlr->duplex ? "full" : "half"); out: if(ctlr->duplex) csr32(ctlr, MACMode) &= ~MACHalfDuplex; else csr32(ctlr, MACMode) |= MACHalfDuplex; if(edev->mbps >= 1000) csr32(ctlr, MACMode) = (csr32(ctlr, MACMode) & MACPortMask) | MACPortGMII; else csr32(ctlr, MACMode) = (csr32(ctlr, MACMode) & MACPortMask) | MACPortMII; csr32(ctlr, MACEventStatus) |= (1<<4) | (1<<3); /* undocumented bits (sync and config changed) */ } static ulong* currentrecvret(Ctlr *ctlr) { if(ctlr->recvreti == (ctlr->status[4] & 0xFFFF)) return 0; return ctlr->recvret + ctlr->recvreti * 8; } static void consumerecvret(Ctlr *ctlr) { ctlr->recvreti = ctlr->recvreti+1 & RecvRetRingLen-1; csr32(ctlr, RecvBDRetRingIndex) = ctlr->recvreti; } static int replenish(Ctlr *ctlr) { ulong *next, incr; Block *bp; incr = (ctlr->recvprodi + 1) & (RecvProdRingLen - 1); if(incr == (ctlr->status[2] >> 16)) return -1; bp = iallocb(Rbsz); if(bp == nil) { /* iallocb never fails. this code is unnecessary */ dprint("bcm: out of memory for receive buffers\n"); ctlr->nobuf++; return -1; } next = ctlr->recvprod + ctlr->recvprodi * 8; memset(next, 0, 32); next[0] = Pciwaddrh(bp->rp); next[1] = Pciwaddrl(bp->rp); next[2] = Rbsz; next[7] = ctlr->recvprodi; ctlr->rxs[ctlr->recvprodi] = bp; coherence(); csr32(ctlr, RecvProdBDRingIndex) = ctlr->recvprodi = incr; return 0; } static void bcmreceive(Ether *edev) { ulong *pkt, len; Ctlr *ctlr; Block *bp; ctlr = edev->ctlr; for(; pkt = currentrecvret(ctlr); replenish(ctlr), consumerecvret(ctlr)) { bp = ctlr->rxs[pkt[7]]; len = pkt[2] & 0xFFFF; bp->wp = bp->rp + len; if((pkt[3] & PacketEnd) == 0){ dprint("bcm: partial frame received -- shouldn't happen\n"); ctlr->partial++; freeb(bp); continue; } if(pkt[3] & FrameError){ ctlr->rxerr++; freeb(bp); continue; } etheriq(edev, bp, 1); } } static void bcmtransclean(Ether *edev) { Ctlr *ctlr; ctlr = edev->ctlr; ilock(&ctlr->txlock); while(ctlr->sendcleani != (ctlr->status[4] >> 16)) { freeb(ctlr->sends[ctlr->sendcleani]); ctlr->sends[ctlr->sendcleani] = nil; ctlr->sendcleani = (ctlr->sendcleani + 1) & (SendRingLen - 1); } iunlock(&ctlr->txlock); } static void bcmtransmit(Ether *edev) { ulong *next, incr; Ctlr *ctlr; Block *bp; ctlr = edev->ctlr; ilock(&ctlr->txlock); for(;;){ incr = (ctlr->sendri + 1) & (SendRingLen - 1); if(incr == ctlr->sendcleani) { dprint("bcm: send queue full\n"); ctlr->qfull++; break; } bp = qget(edev->oq); if(bp == nil) break; next = ctlr->sendr + ctlr->sendri * 4; next[0] = Pciwaddrh(bp->rp); next[1] = Pciwaddrl(bp->rp); next[2] = (BLEN(bp) << 16) | PacketEnd; next[3] = 0; ctlr->sends[ctlr->sendri] = bp; coherence(); csr32(ctlr, SendBDRingHostIndex) = ctlr->sendri = incr; } iunlock(&ctlr->txlock); } static void bcmerror(Ether *edev) { Ctlr *ctlr; ctlr = edev->ctlr; if(csr32(ctlr, FlowAttention)) { if(csr32(ctlr, FlowAttention) & 0xf8ff8080) print("bcm: fatal error %#.8lux", csr32(ctlr, FlowAttention)); csr32(ctlr, FlowAttention) = 0; } csr32(ctlr, MACEventStatus) = 0; /* worth ignoring */ if(csr32(ctlr, ReadDMAStatus) || csr32(ctlr, WriteDMAStatus)) { dprint("bcm: DMA error\n"); ctlr->dmaerr++; csr32(ctlr, ReadDMAStatus) = 0; csr32(ctlr, WriteDMAStatus) = 0; } if(csr32(ctlr, RISCState)) { if(csr32(ctlr, RISCState) & 0x78000403) print("bcm: RISC halted %#.8lux", csr32(ctlr, RISCState)); csr32(ctlr, RISCState) = 0; } } static void bcminterrupt(Ureg*, void *arg) { ulong status, tag, dummy; Ether *edev; Ctlr *ctlr; edev = arg; ctlr = edev->ctlr; ilock(&ctlr->imlock); dummy = csr32(ctlr, InterruptMailbox); USED(dummy); csr32(ctlr, InterruptMailbox) = 1; status = ctlr->status[0]; tag = ctlr->status[1]; ctlr->status[0] = 0; if(status & Error) bcmerror(edev); if(status & LinkStateChange) checklink(edev); // iprint("bcm: interrupt %.8lux %.8lux\n", ctlr->status[2], ctlr->status[4]); bcmreceive(edev); bcmtransclean(edev); bcmtransmit(edev); csr32(ctlr, InterruptMailbox) = tag << 24; iunlock(&ctlr->imlock); } void mem32w(Ctlr *c, uint r, uint v) { pcicfgw32(c->pdev, MemoryWindow, r); pcicfgw32(c->pdev, MemoryWindowData, v); } ulong mem32r(Ctlr *c, uint r) { ulong v; pcicfgw32(c->pdev, MemoryWindow, r); v = pcicfgr32(c->pdev, MemoryWindowData); pcicfgw32(c->pdev, MemoryWindow, 0); return v; } static int bcminit(Ether *edev) { ulong i, j; Ctlr *ctlr; ctlr = edev->ctlr; dprint("bcm: reset\n"); /* initialization procedure according to the datasheet */ csr32(ctlr, MiscHostCtl) |= MaskPCIInt | ClearIntA; csr32(ctlr, SwArbitration) |= SwArbitSet1; for(i = 0;; i += 100){ if((csr32(ctlr, SwArbitration) & SwArbitWon1)) break; if(i == 2000 /* ?s */){ print("bcm: arbiter failed to respond\n"); return -1; } microdelay(100); } csr32(ctlr, MemArbiterMode) |= Enable; csr32(ctlr, MiscHostCtl) = WordSwap | IndirectAccessEnable | EnablePCIStateRegister | EnableClockControl | MaskPCIInt | ClearIntA; csr32(ctlr, MemoryWindow) = 0; mem32w(ctlr, Fwmbox, Fwmagic); csr32(ctlr, MiscConfiguration) |= GPHYPowerDownOverride | DisableGRCResetOnPCIE | CoreClockBlocksReset; delay(100); pcicfgw32(ctlr->pdev, PciPCR, ctlr->pdev->pcr); /* restore pci bits lost */ csr32(ctlr, MiscHostCtl) |= MaskPCIInt | ClearIntA; csr32(ctlr, MemArbiterMode) |= Enable; csr32(ctlr, MiscHostCtl) |= WordSwap | IndirectAccessEnable | EnablePCIStateRegister | EnableClockControl | TaggedStatus; csr32(ctlr, ModeControl) |= ByteWordSwap; csr32(ctlr, MACMode) = (csr32(ctlr, MACMode) & MACPortMask) | MACPortGMII; delay(40); for(i = 0;; i += 100){ if(mem32r(ctlr, Fwmbox) == ~Fwmagic) break; if(i == 20*10000 /* ?s */){ print("bcm: fw failed to respond %#.8lux\n", mem32r(ctlr, Fwmbox)); break; //return -1; } microdelay(100); } csr32(ctlr, TLPControl) |= (1<<25) | (1<<29); memset(ctlr->status, 0, 20); csr32(ctlr, DMARWControl) = (csr32(ctlr, DMARWControl) & DMAWatermarkMask) | DMAWatermarkValue; csr32(ctlr, ModeControl) |= HostSendBDs | HostStackUp | InterruptOnMAC; csr32(ctlr, MiscConfiguration) = (csr32(ctlr, MiscConfiguration) & TimerMask) | TimerValue; csr32(ctlr, MBUFLowWatermark) = 0x20; csr32(ctlr, MBUFHighWatermark) = 0x60; csr32(ctlr, LowWatermarkMaximum) = (csr32(ctlr, LowWatermarkMaximum) & LowWatermarkMaxMask) | LowWatermarkMaxValue; csr32(ctlr, BufferManMode) |= Enable | Attn; while((csr32(ctlr, BufferManMode) & Enable) == 0) ; csr32(ctlr, FTQReset) = -1; csr32(ctlr, FTQReset) = 0; while(csr32(ctlr, FTQReset)) ; csr32(ctlr, ReceiveBDHostAddr) = Pciwaddrh(ctlr->recvprod); csr32(ctlr, ReceiveBDHostAddr + 4) = Pciwaddrl(ctlr->recvprod); csr32(ctlr, ReceiveBDFlags) = RecvProdRingLen << 16; csr32(ctlr, ReceiveBDNIC) = 0x6000; csr32(ctlr, ReceiveBDRepl) = 25; csr32(ctlr, SendBDRingHostIndex) = 0; csr32(ctlr, SendBDRingHostIndex+4) = 0; mem32w(ctlr, SendRCB, Pciwaddrh(ctlr->sendr)); mem32w(ctlr, SendRCB + 4, Pciwaddrl(ctlr->sendr)); mem32w(ctlr, SendRCB + 8, SendRingLen << 16); mem32w(ctlr, SendRCB + 12, 0x4000); for(i=1;i<4;i++) mem32w(ctlr, RecvRetRCB + i * 0x10 + 8, 2); mem32w(ctlr, RecvRetRCB, Pciwaddrh(ctlr->recvret)); mem32w(ctlr, RecvRetRCB + 4, Pciwaddrl(ctlr->recvret)); mem32w(ctlr, RecvRetRCB + 8, RecvRetRingLen << 16); csr32(ctlr, RecvProdBDRingIndex) = 0; csr32(ctlr, RecvProdBDRingIndex+4) = 0; /* this delay is not in the datasheet, but necessary */ delay(1); i = csr32(ctlr, MACAddress); j = edev->ea[0] = i >> 8; j += edev->ea[1] = i; i = csr32(ctlr, MACAddress + 4); j += edev->ea[2] = i >> 24; j += edev->ea[3] = i >> 16; j += edev->ea[4] = i >> 8; j += edev->ea[5] = i; csr32(ctlr, EthernetRandomBackoff) = j & 0x3FF; csr32(ctlr, ReceiveMTU) = Rbsz; csr32(ctlr, TransmitMACLengths) = 0x2620; csr32(ctlr, ReceiveListPlacement) = 1<<3; /* one list */ csr32(ctlr, ReceiveListPlacementMask) = 0xFFFFFF; csr32(ctlr, ReceiveListPlacementConfiguration) |= ReceiveStats; csr32(ctlr, SendInitiatorMask) = 0xFFFFFF; csr32(ctlr, SendInitiatorConfiguration) |= SendStats; csr32(ctlr, HostCoalescingMode) = 0; while(csr32(ctlr, HostCoalescingMode) != 0) ; csr32(ctlr, HostCoalescingRecvTicks) = 150; csr32(ctlr, HostCoalescingSendTicks) = 150; csr32(ctlr, RecvMaxCoalescedFrames) = 10; csr32(ctlr, SendMaxCoalescedFrames) = 10; csr32(ctlr, RecvMaxCoalescedFramesInt) = 0; csr32(ctlr, SendMaxCoalescedFramesInt) = 0; csr32(ctlr, StatusBlockHostAddr) = Pciwaddrh(ctlr->status); csr32(ctlr, StatusBlockHostAddr + 4) = Pciwaddrl(ctlr->status); csr32(ctlr, HostCoalescingMode) |= Enable; csr32(ctlr, ReceiveBDCompletionMode) |= Enable | Attn; csr32(ctlr, ReceiveListPlacementMode) |= Enable; csr32(ctlr, MACMode) |= MACEnable; csr32(ctlr, MiscLocalControl) |= InterruptOnAttn | AutoSEEPROM; csr32(ctlr, InterruptMailbox) = 0; csr32(ctlr, WriteDMAMode) |= 0x200003fe; /* pulled out of my nose */ csr32(ctlr, ReadDMAMode) |= 0x3fe; csr32(ctlr, ReceiveDataCompletionMode) |= Enable | Attn; csr32(ctlr, SendDataCompletionMode) |= Enable; csr32(ctlr, SendBDCompletionMode) |= Enable | Attn; csr32(ctlr, ReceiveBDInitiatorMode) |= Enable | Attn; csr32(ctlr, ReceiveDataBDInitiatorMode) |= Enable | (1<<4); csr32(ctlr, SendDataInitiatorMode) |= Enable; csr32(ctlr, SendBDInitiatorMode) |= Enable | Attn; csr32(ctlr, SendBDSelectorMode) |= Enable | Attn; ctlr->recvprodi = 0; while(replenish(ctlr) >= 0) ; csr32(ctlr, TransmitMACMode) |= Enable; csr32(ctlr, ReceiveMACMode) |= Enable; csr32(ctlr, PowerControlStatus) &= ~3; csr32(ctlr, MIStatus) |= 1<<0; csr32(ctlr, MACEventEnable) = 0; csr32(ctlr, MACEventStatus) |= (1<<12); csr32(ctlr, MIMode) = 0xC0000; microdelay(40); miiw(ctlr, PhyControl, 1<<15); while(miir(ctlr, PhyControl) & (1<<15)) ; for(i = 0;; i += 100){ if((miir(ctlr, PhyControl) & (1<<15)) == 0) break; if(i == 10000 /* ?s */){ print("bcm: phy reset failure\n"); return -1; } microdelay(100); } miiw(ctlr, PhyAuxControl, 2); miir(ctlr, PhyIntStatus); miir(ctlr, PhyIntStatus); miiw(ctlr, PhyIntMask, ~(1<<1)); checklink(edev); csr32(ctlr, MACEventEnable) |= 1<<12; csr32(ctlr, MACHash) = -1; csr32(ctlr, MACHash+4) = -1; csr32(ctlr, MACHash+8) = -1; csr32(ctlr, MACHash+12) = -1; for(i = 0; i < 8; i++) csr32(ctlr, ReceiveRules + 8 * i) = 0; csr32(ctlr, ReceiveRulesConfiguration) = 1 << 3; csr32(ctlr, MSIMode) |= Enable; csr32(ctlr, MiscHostCtl) &= ~(MaskPCIInt | ClearIntA); return 0; } static void bcmpci(void) { void *mem; Ctlr *ctlr, **xx; Pcidev *p; xx = &bcmhead; for(p = nil; p = pcimatch(p, 0, 0); ) { if(p->ccrb != 2 || p->ccru != 0) continue; switch(p->vid<<16 | p->did){ default: continue; case 0x14e4165a: case 0x14e4167d: case 0x14e41670: case 0x14e41672: case 0x14e41673: case 0x14e41674: case 0x14e41677: case 0x14e4167a: case 0x14e4167b: case 0x14e41693: case 0x14e4169b: case 0x14e41712: case 0x14e41713: break; } pcisetbme(p); pcisetpms(p, 0); ctlr = malloc(sizeof(Ctlr)); if(ctlr == nil) continue; ctlr->port = p->mem[0].bar & ~0x0F; mem = vmap(ctlr->port, p->mem[0].size); if(mem == nil) { print("bcm: can't map %#p\n", ctlr->port); free(ctlr); continue; } ctlr->pdev = p; ctlr->nic = mem; ctlr->status = xspanalloc(20, 16, 0); ctlr->recvprod = xspanalloc(32 * RecvProdRingLen, 16, 0); ctlr->recvret = xspanalloc(32 * RecvRetRingLen, 16, 0); ctlr->sendr = xspanalloc(16 * SendRingLen, 16, 0); ctlr->sends = malloc(sizeof *ctlr->sends * SendRingLen); ctlr->rxs = malloc(sizeof *ctlr->sends * SendRingLen); *xx = ctlr; xx = &ctlr->next; } } static void bcmpromiscuous(void* arg, int on) { Ctlr *ctlr; ctlr = ((Ether*)arg)->ctlr; if(on) csr32(ctlr, ReceiveMACMode) |= 1<<8; else csr32(ctlr, ReceiveMACMode) &= ~(1<<8); } static void bcmmulticast(void*, uchar*, int) { } static int bcmpnp(Ether* edev) { Ctlr *ctlr; static int done; if(done == 0){ bcmpci(); done = 1; } redux: for(ctlr = bcmhead; ; ctlr = ctlr->next) { if(ctlr == nil) return -1; if(ctlr->active) continue; if(edev->port == 0 || edev->port == ctlr->port) { ctlr->active = 1; break; } } edev->ctlr = ctlr; edev->port = ctlr->port; edev->irq = ctlr->pdev->intl; edev->tbdf = ctlr->pdev->tbdf; edev->interrupt = bcminterrupt; edev->ifstat = bcmifstat; edev->transmit = bcmtransmit; edev->multicast = bcmmulticast; edev->promiscuous = bcmpromiscuous; edev->arg = edev; edev->mbps = 1000; if(bcminit(edev) == -1) goto redux; return 0; } void etherbcmlink(void) { addethercard("bcm57xx", bcmpnp); } ^ permalink raw reply [flat|nested] 92+ messages in thread
* Re: [9fans] 9vx instability 2011-11-24 18:25 ` erik quanstrom 2011-11-24 18:52 ` Francisco J Ballesteros @ 2011-11-24 20:35 ` ron minnich 1 sibling, 0 replies; 92+ messages in thread From: ron minnich @ 2011-11-24 20:35 UTC (permalink / raw) To: Fans of the OS Plan 9 from Bell Labs On Thu, Nov 24, 2011 at 10:25 AM, erik quanstrom <quanstro@quanstro.net> wrote: >> This, to be honest, doesn't say much. >> However, recently I stumbled over this: >> http://www.sptechweb.com/content/article.aspx?ArticleID=35742&print=true > > geoff did cwfs, and has done more to maintain the system > than the rest of us put together. he has my respect for that. > > thanks, geoff. Absolutely. What was interesting when I was frequently updating sysfromiso was watching the continuous flow of improvements in code from Bell Labs. But in the Plan 9 style, the number of lines changed could be small in number, yet potent in impact. Plan 9 is very much alive. It lacks the near continuous code churn of many open source projects -- a virtue! -- while continuing to add new support for new hardware and code improvements. Changes are not made for change sake; they are made because they make real improvements in the system. It's hard not to like that. ron ^ permalink raw reply [flat|nested] 92+ messages in thread
[parent not found: <CAOw7k5ijEpAGbQgbG94K3bCfOjTLGCKACRZBj60=-ra57FiXAg@mail.gmail.c>]
* Re: [9fans] 9vx instability [not found] ` <CAOw7k5ijEpAGbQgbG94K3bCfOjTLGCKACRZBj60=-ra57FiXAg@mail.gmail.c> @ 2011-11-21 16:53 ` erik quanstrom 0 siblings, 0 replies; 92+ messages in thread From: erik quanstrom @ 2011-11-21 16:53 UTC (permalink / raw) To: 9fans > my only practical problem so far is DNS, which i suppose must be > single-threaded. my experiment in wiring dns to a mach didn't work; it was less stable than before. mttf measured in seconds. - erik ^ permalink raw reply [flat|nested] 92+ messages in thread
* [9fans] 9vx instability 2011-11-21 11:17 ` Jens Staal ` (2 preceding siblings ...) 2011-11-21 14:46 ` Sergey Kish @ 2011-11-27 13:39 ` yy 2011-11-27 13:43 ` Jens Staal 3 siblings, 1 reply; 92+ messages in thread From: yy @ 2011-11-27 13:39 UTC (permalink / raw) 2011/11/21 Jens Staal <staal1978 at gmail.com>: > What I would like to know is if you can boot a plan9 system from iso via 9vx > as "persistent" partition whereas changes are saved to another directory (so > basically setting up a union mount between the iso and a directory) - > alternatively specifying an alternative path for $home using 9vx booting > from an iso. > I've written a small script to help with this. From the comments: # Usage: 9vxi [9vx options] # If set, $localroot is used as root, # and $home as the home directory. # If localroot is not set. search for it: # first in the cwd, then at $HOME. # initrc is ignored. Other options are # just passed to 9vx. # # If found, $home/lib/profile is used, # else a default profile is supplied. If you have a plan9.iso file in your $HOME directory, running 9vxi without arguments should be enough to boot from that iso file with an usable environment: $HOME is used as your home directory, ramdisk provides a writable /tmp and the plumber uses glenda's rules. If you need something fancier (for example, binding a writable source tree from a sysfromiso repository), create a lib/profile file. -- - yiyus || JGL . -------------- next part -------------- A non-text attachment was scrubbed... Name: 9vxi Type: application/octet-stream Size: 1106 bytes Desc: not available URL: <http://mail.9fans.net/private/9fans/attachments/20111127/a1773943/attachment.obj> ^ permalink raw reply [flat|nested] 92+ messages in thread
* [9fans] 9vx instability 2011-11-27 13:39 ` yy @ 2011-11-27 13:43 ` Jens Staal 0 siblings, 0 replies; 92+ messages in thread From: Jens Staal @ 2011-11-27 13:43 UTC (permalink / raw) On 11/27/11 14:39, yy wrote: > 2011/11/21 Jens Staal<staal1978 at gmail.com>: >> What I would like to know is if you can boot a plan9 system from iso via 9vx >> as "persistent" partition whereas changes are saved to another directory (so >> basically setting up a union mount between the iso and a directory) - >> alternatively specifying an alternative path for $home using 9vx booting >> from an iso. >> > I've written a small script to help with this. From the comments: > > # Usage: 9vxi [9vx options] > # If set, $localroot is used as root, > # and $home as the home directory. > # If localroot is not set. search for it: > # first in the cwd, then at $HOME. > # initrc is ignored. Other options are > # just passed to 9vx. > # > # If found, $home/lib/profile is used, > # else a default profile is supplied. > > If you have a plan9.iso file in your $HOME directory, running 9vxi > without arguments should be enough to boot from that iso file with an > usable environment: $HOME is used as your home directory, ramdisk > provides a writable /tmp and the plumber uses glenda's rules. If you > need something fancier (for example, binding a writable source tree > from a sysfromiso repository), create a lib/profile file. > > Awesome! Thanks! I will look into it. ^ permalink raw reply [flat|nested] 92+ messages in thread
end of thread, other threads:[~2011-11-28 12:02 UTC | newest] Thread overview: 92+ messages (download: mbox.gz / follow: Atom feed) -- links below jump to the message on this page -- 2011-11-21 8:31 [9fans] 9vx instability Anton 2011-11-21 8:39 ` Alexander Kapshuk 2011-11-21 9:08 ` Akshat Kumar 2011-11-21 9:23 ` Anthony Martin 2011-11-21 21:13 ` yy 2011-11-21 11:01 ` yy 2011-11-21 11:17 ` Jens Staal 2011-11-21 11:56 ` yy 2011-11-21 12:14 ` Anton 2011-11-21 19:58 ` Federico G. Benavento 2011-11-21 14:46 ` Sergey Kish 2011-11-21 14:51 ` Sergey Kish 2011-11-21 15:04 ` Jens Staal 2011-11-21 15:49 ` ron minnich 2011-11-21 16:51 ` Charles Forsyth 2011-11-21 17:09 ` Anton 2011-11-21 17:26 ` Jens Staal 2011-11-21 18:24 ` ron minnich 2011-11-21 18:35 ` Charles Forsyth 2011-11-21 18:39 ` ron minnich 2011-11-21 18:49 ` Francisco J Ballesteros 2011-11-21 19:02 ` Charles Forsyth 2011-11-21 19:18 ` andrey mirtchovski 2011-11-21 20:20 ` Skip Tavakkolian [not found] ` <CAJSxfmLDrF5b_MxK7GW0jMRuywo88iDGdsH2ZBPbzzcsTQ1i9Q@mail.gmail.c> 2011-11-21 20:32 ` erik quanstrom 2011-11-21 21:59 ` Skip Tavakkolian 2011-11-21 22:44 ` Anton 2011-11-21 23:02 ` Skip Tavakkolian 2011-11-24 16:40 ` Yaroslav 2011-11-24 16:56 ` Francisco J Ballesteros 2011-11-24 17:56 ` Rudolf Sykora 2011-11-24 18:51 ` Skip Tavakkolian 2011-11-25 3:30 ` Lucio De Re 2011-11-25 4:12 ` Stanley Lieber 2011-11-25 6:18 ` Lucio De Re [not found] ` <CAJSxfmLDrF5b_MxK7GW0jMRuywo88iDGdsH2ZBPbzzcsTQ1i9Q@> [not found] ` <CAJSxfm+TZvGdfMGR1smusVAqJK9w=qtUHkXr8OGc5cuZ9VtrdQ@mail.gmail.c> 2011-11-21 23:07 ` erik quanstrom 2011-11-22 13:56 ` Charles Forsyth [not found] ` <CAOEdRO10gkM7SwLRLyscLYENH=BfS8++mFNiRR6VnuAiRpZcag@mail.gmail.c> 2011-11-24 18:25 ` erik quanstrom 2011-11-24 18:52 ` Francisco J Ballesteros 2011-11-24 19:01 ` Stanley Lieber 2011-11-25 3:37 ` Lucio De Re 2011-11-25 4:21 ` Stanley Lieber 2011-11-25 19:20 ` Skip Tavakkolian 2011-11-24 20:39 ` cinap_lenrek 2011-11-24 20:45 ` ron minnich 2011-11-24 21:21 ` Francisco J Ballesteros 2011-11-25 2:02 ` erik quanstrom 2011-11-26 23:30 ` Uriel [not found] ` <CAK=G1Tj4o_ysw_-dh8EQwWHkSSc6v=ga8E4Z331DasO13WNr_A@mail.gmail.c> 2011-11-26 23:40 ` erik quanstrom 2011-11-26 23:57 ` Jacob Todd 2011-11-27 3:27 ` Lucio De Re 2011-11-27 4:26 ` cinap_lenrek at gmx.de 2011-11-27 4:32 ` cinap_lenrek at gmx.de 2011-11-27 14:23 ` Dan Cross 2011-11-27 19:09 ` Lyndon Nerenberg 2011-11-27 20:44 ` Dan Cross 2011-11-27 23:35 ` hiro 2011-11-28 12:02 ` Dennis den Brok 2011-11-28 1:45 ` Anthony Martin 2011-11-27 18:34 ` Skip Tavakkolian 2011-11-27 19:01 ` Stanley Lieber 2011-11-27 19:39 ` Iruatã Souza 2011-11-27 2:40 ` Skip Tavakkolian 2011-11-28 1:14 ` Andrés Domínguez 2011-11-25 3:46 ` Lucio De Re 2011-11-25 4:35 ` Stanley Lieber 2011-11-25 3:33 ` [9fans] Forks of Plan 9 (Was: 9vx instability) Lucio De Re 2011-11-25 3:54 ` Stanley Lieber 2011-11-25 4:14 ` Lucio De Re 2011-11-25 6:05 ` cinap_lenrek at gmx.de 2011-11-25 6:22 ` Lucio De Re 2011-11-25 6:45 ` cinap_lenrek at gmx.de 2011-11-25 7:52 ` Francisco J Ballesteros 2011-11-25 8:06 ` Lucio De Re 2011-11-25 10:15 ` Francisco J Ballesteros 2011-11-25 13:25 ` Lucio De Re 2011-11-25 13:28 ` Charles Forsyth 2011-11-25 13:34 ` Charles Forsyth 2011-11-25 14:22 ` Lucio De Re 2011-11-25 14:26 ` Lucio De Re 2011-11-25 14:38 ` erik quanstrom [not found] ` <CAHfqX-pxHzzHQdf2Rg=Fo+yKOSxYVX7UdU7j4hQJKYS2c7e4tQ@mail.gmail.c> 2011-11-25 13:55 ` erik quanstrom 2011-11-25 16:56 ` Stanley Lieber [not found] ` <CAHfqX-ot8PRUNW5aH+5zKFQXvd_O+otfE4pBS0HfjfD6-6HQSA@mail.gmail.c> 2011-11-25 22:42 ` erik quanstrom 2011-11-25 23:21 ` Steve Simon 2011-11-25 23:39 ` erik quanstrom 2011-11-27 14:52 ` Charles Forsyth 2011-11-26 2:09 ` erik quanstrom 2011-11-24 20:35 ` [9fans] 9vx instability ron minnich [not found] ` <CAOw7k5ijEpAGbQgbG94K3bCfOjTLGCKACRZBj60=-ra57FiXAg@mail.gmail.c> 2011-11-21 16:53 ` erik quanstrom 2011-11-27 13:39 ` yy 2011-11-27 13:43 ` Jens Staal
This is a public inbox, see mirroring instructions for how to clone and mirror all data and code used for this inbox; as well as URLs for NNTP newsgroup(s).