9fans - fans of the OS Plan 9 from Bell Labs
 help / color / mirror / Atom feed
* [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  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 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
       [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

* 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 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 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

* 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  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 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
       [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

* 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
       [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 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: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 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

* 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

* 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

* [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] 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-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] 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] 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

* 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

* 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

* 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-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] 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

* [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)
       [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: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

* [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

* [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

* [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)
       [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

* [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

* [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: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: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-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

* [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] 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] 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 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 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-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-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

* [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-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

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).