9fans - fans of the OS Plan 9 from Bell Labs
 help / color / mirror / Atom feed
* Re: [9fans] Plan9 in VMware?
@ 2001-02-14 12:49 rog
  0 siblings, 0 replies; 9+ messages in thread
From: rog @ 2001-02-14 12:49 UTC (permalink / raw)
  To: 9fans

forsyth wrote:
> >>As far as your other reservations, VESA defines a protected mode interface
> >>which requires only (from memory):
>
> true, but i believe roger found that many cards don't implement that.

to be more accurate, i didn't manage to find a single card that
implemented it, despite trying a fair old few.

the main portion of the VESA stuff i wrote was a load of 8086 code
(using those delicious cpp macros found in boot/pc/x16.h) to set up the
graphics mode, show a test card and query the user that it was ok.

it also filched the default font from the BIOS (hence no need for extra
font code in b.com) and passed info on the card (and framebuffer address,
etc) through to the main kernel.

for cards that didn't implement a linear frame buffer (a dying breed
now, i hope) i managed to find buffer switching code out there on the
net which did the job for many graphics cards.

i did rely on inferno's software mouse cursor though - how difficult
would it be to put one back into plan 9?

i do like the idea of simulating the BIOS code...  that approach could
get rid of a lot of the above dross.  it's kind of baroque though, an
entire x86 emulator just to get around a crappy software interface!

  cheers,
    rog.



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

* Re: [9fans] Plan9 in VMware?
@ 2001-02-13 22:24 forsyth
  0 siblings, 0 replies; 9+ messages in thread
From: forsyth @ 2001-02-13 22:24 UTC (permalink / raw)
  To: 9fans

>>As far as your other reservations, VESA defines a protected mode interface
>>which requires only (from memory):

true, but i believe roger found that many cards don't implement that.



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

* Re: [9fans] Plan9 in VMware?
  2001-02-13 21:28 ` Christian Smith
@ 2001-02-13 21:34   ` Scott Schwartz
  0 siblings, 0 replies; 9+ messages in thread
From: Scott Schwartz @ 2001-02-13 21:34 UTC (permalink / raw)
  To: 9fans

> Is acceleration really that important to get bootstrapped?

No.  My #9 card isn't accelerated.  It would be nicer if it was, but
it's totally usable as-is.

It's likely that some software speedups could be achieved as well.
The second edition's JIT bitblt seemed to work ok.



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

* Re: [9fans] Plan9 in VMware?
  2001-02-13 19:56 Russ Cox
@ 2001-02-13 21:28 ` Christian Smith
  2001-02-13 21:34   ` Scott Schwartz
  0 siblings, 1 reply; 9+ messages in thread
From: Christian Smith @ 2001-02-13 21:28 UTC (permalink / raw)
  To: 9fans

Is acceleration really that important to get bootstrapped? At least when
in a VESA mode, you can then develop any acceleration on top of it. Linux
has no problems running at useable speeds in VESA modes.

As far as your other reservations, VESA defines a protected mode interface
which requires only (from memory):
1. Permissions to the ports used to program the controller.
2. Valid ds, ss and cs segments.

Once the mode is set up, acceleration details can be creamed off from
XFree86 sources.

So long as entry to the interface is serialised by the plan9 VESA driver,
then SMP should not be a problem.

Christian

On Tue, 13 Feb 2001, Russ Cox wrote:

>	Grr, all plan9 needs is a VESA 2.0 video driver. I know someone has talked
>	about doing this (can't remember the reference,) and I intend to have a go
>	myself once I've got plan9 up and running. Then we can dump all this
>	reliance on bios signatures etc.
>
>	I have to say, the way plan9 handles this stuff is surprisingly archaic!
>
>I believe Roger Peppe did this for Inferno.
>I explored doing it for Plan 9 a month ago
>and got frustrated: by the x86 arcana needed
>to pull it off, by the prospect of needing to
>set up the graphics card in the boot loader
>before doing the 32-bit mode switch, by the
>blind faith you need to trust the video calls to
>come back to you, by the fact that the VESA
>interface doesn't handle any acceleration so
>you'd still have to obtain chipset manuals to do that,
>by the fact that nowhere does the VESA spec
>guarantee that it will work on multiprocessors.
>
>I agree that card identification using BIOS strings
>should go, in favor of something like PCI ids,
>but it looks like we'll be stuck writing card-specific
>drivers for a long while still.  Everyone else does.
>
>The hard part is not writing the drivers.  The hard
>part (as discussed before) is getting the manuals
>from the manufacturers.  Since acceleration requires
>this anyway, the VESA stuff just doesn't seem worth it.
>
>Please, prove me wrong.  I'd love to see it.
>
>Russ
>

--
    /"\
    \ /    ASCII RIBBON CAMPAIGN - AGAINST HTML MAIL
     X                           - AGAINST MS ATTACHMENTS
    / \



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

* Re: [9fans] Plan9 in VMware?
@ 2001-02-13 19:56 Russ Cox
  2001-02-13 21:28 ` Christian Smith
  0 siblings, 1 reply; 9+ messages in thread
From: Russ Cox @ 2001-02-13 19:56 UTC (permalink / raw)
  To: 9fans

	Grr, all plan9 needs is a VESA 2.0 video driver. I know someone has talked
	about doing this (can't remember the reference,) and I intend to have a go
	myself once I've got plan9 up and running. Then we can dump all this
	reliance on bios signatures etc.

	I have to say, the way plan9 handles this stuff is surprisingly archaic!

I believe Roger Peppe did this for Inferno.
I explored doing it for Plan 9 a month ago
and got frustrated: by the x86 arcana needed
to pull it off, by the prospect of needing to
set up the graphics card in the boot loader
before doing the 32-bit mode switch, by the
blind faith you need to trust the video calls to
come back to you, by the fact that the VESA
interface doesn't handle any acceleration so
you'd still have to obtain chipset manuals to do that,
by the fact that nowhere does the VESA spec
guarantee that it will work on multiprocessors.

I agree that card identification using BIOS strings
should go, in favor of something like PCI ids,
but it looks like we'll be stuck writing card-specific
drivers for a long while still.  Everyone else does.

The hard part is not writing the drivers.  The hard
part (as discussed before) is getting the manuals
from the manufacturers.  Since acceleration requires
this anyway, the VESA stuff just doesn't seem worth it.

Please, prove me wrong.  I'd love to see it.

Russ


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

* Re: [9fans] Plan9 in VMware?
  2001-02-13 14:20   ` Jim Niemira
@ 2001-02-13 15:13     ` Christian Smith
  0 siblings, 0 replies; 9+ messages in thread
From: Christian Smith @ 2001-02-13 15:13 UTC (permalink / raw)
  To: 9fans

Grr, all plan9 needs is a VESA 2.0 video driver. I know someone has talked
about doing this (can't remember the reference,) and I intend to have a go
myself once I've got plan9 up and running. Then we can dump all this
reliance on bios signatures etc.

I have to say, the way plan9 handles this stuff is surprisingly archaic!

Christian (frustrated at not being able to use dumb frame buffers!)

On Tue, 13 Feb 2001, Jim Niemira wrote:

>Ish Rattan wrote:
>> On Mon, 5 Feb 2001, Jim Niemira wrote:
>> > I can run Plan9 in VMware, but cannot get the video running correctly.
>> > Can it be done?  I've got:
>> >
>> > monitor=multisync75
>> > vgasize=800x600x8
>> >
>> > in my plan9.ini file (monitor=vga and 640x480 gives the same results),
>> > and:
>> >
>> > ctlr
>> >     0xC002D="PhoenixView(tm) VGA-Compatible BIOS Version"
>> >     link=vga
>> >     hwgc=s3hwgc
>> >     ctlr=trio64
>> >     link=ibm8514
>>
>> Under Vmware the actual hardware is not available. You have to use the
>> the hardware emulated.. No idea about graphics crad but ether is NE2001
>> (AMD Lance)
>
>
>I know this; the gfx card is that text line in the ctlr stanza, which I
>pulled out of vgainfo.txt.  But it looks like the refresh rate is off (if
>there is such a thing for vmware).  I've tried lots of different settings;
>has anyone got one that works?  Thanx!
>
>jim
>

--
    /"\
    \ /    ASCII RIBBON CAMPAIGN - AGAINST HTML MAIL
     X                           - AGAINST MS ATTACHMENTS
    / \



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

* Re: [9fans] Plan9 in VMware?
  2001-02-05 14:22 ` Ish Rattan
@ 2001-02-13 14:20   ` Jim Niemira
  2001-02-13 15:13     ` Christian Smith
  0 siblings, 1 reply; 9+ messages in thread
From: Jim Niemira @ 2001-02-13 14:20 UTC (permalink / raw)
  To: 9fans

Ish Rattan wrote:
> On Mon, 5 Feb 2001, Jim Niemira wrote:
> > I can run Plan9 in VMware, but cannot get the video running correctly.
> > Can it be done?  I've got:
> >
> > monitor=multisync75
> > vgasize=800x600x8
> >
> > in my plan9.ini file (monitor=vga and 640x480 gives the same results),
> > and:
> >
> > ctlr
> >     0xC002D="PhoenixView(tm) VGA-Compatible BIOS Version"
> >     link=vga
> >     hwgc=s3hwgc
> >     ctlr=trio64
> >     link=ibm8514
>
> Under Vmware the actual hardware is not available. You have to use the
> the hardware emulated.. No idea about graphics crad but ether is NE2001
> (AMD Lance)


I know this; the gfx card is that text line in the ctlr stanza, which I
pulled out of vgainfo.txt.  But it looks like the refresh rate is off (if
there is such a thing for vmware).  I've tried lots of different settings;
has anyone got one that works?  Thanx!

jim


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

* Re: [9fans] Plan9 in VMware?
  2001-02-05  9:56 Jim Niemira
@ 2001-02-05 14:22 ` Ish Rattan
  2001-02-13 14:20   ` Jim Niemira
  0 siblings, 1 reply; 9+ messages in thread
From: Ish Rattan @ 2001-02-05 14:22 UTC (permalink / raw)
  To: 9fans



On Mon, 5 Feb 2001, Jim Niemira wrote:

>
> I can run Plan9 in VMware, but cannot get the video running correctly.  Can
> it be done?  I've got:
>
> monitor=multisync75
> vgasize=800x600x8
>
> in my plan9.ini file (monitor=vga and 640x480 gives the same results), and:
>
> ctlr
>     0xC002D="PhoenixView(tm) VGA-Compatible BIOS Version"
>     link=vga
>     hwgc=s3hwgc
>     ctlr=trio64
>     link=ibm8514

Under Vmware the actual hardware is not available. You have to use the
the hardware emulated.. No idea about graphics crad but ether is NE2001
(AMD Lance)

Hope that helps.
- ishwar




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

* [9fans] Plan9 in VMware?
@ 2001-02-05  9:56 Jim Niemira
  2001-02-05 14:22 ` Ish Rattan
  0 siblings, 1 reply; 9+ messages in thread
From: Jim Niemira @ 2001-02-05  9:56 UTC (permalink / raw)
  To: 9fans


I can run Plan9 in VMware, but cannot get the video running correctly.  Can
it be done?  I've got:

monitor=multisync75
vgasize=800x600x8

in my plan9.ini file (monitor=vga and 640x480 gives the same results), and:

ctlr
    0xC002D="PhoenixView(tm) VGA-Compatible BIOS Version"
    link=vga
    hwgc=s3hwgc
    ctlr=trio64
    link=ibm8514

in my vgadb, which *almost* works.  I can see the video, but it's got
alternating black bands interspersed with the picture pixels, and I can
see, eg, the bar graphs repeated several times diagonally across the
picture, like it's just out of sync or something, but I can't make it any
better.  Tried many other settings and chipsets, to no avail.  Has anyone
made this work? (Under vmware 1, I don't have 2)

I've seen others mention that enabling VMware's ethernet controller causes
it to throw an exception under Plan9; any luck on that?

I'm running XFree86 Version 4.0.1 on a Matrox G400 at 1600x1200x24@75Hz
(but changing that doesn't change the VMware screen's behavior).  Here's my
vgainfo.txt (long):

main->snarf
vga->snarf
trio64->snarf
trio64->snarf->s3generic
vga->dump
vga misc             67
vga feature          00
vga sequencer        03 00 03 00 02
vga crt              5F 4F 50 82 55 81 BF 1F - 00 4F 0D 0E 00 00 05 F0
                     9C 8E 8F 28 1F 96 B9 A3 - FF
vga graphics         00 00 00 00 00 10 0E 00 - FF
vga attribute        00 01 02 03 04 05 14 07 - 38 39 3A 3B 3C 3D 3E 3F
                     0C 00 0F 08 00
vga vmz               4194304
vga apz                     0
vga linear                  0
vga->attr: 0xC002D=PhoenixView(tm) VGA-Compatible BIOS Version
trio64->dump
trio64 Crt30         00 00 00 00 00 00 00 00 - 00 00 00 00 00 00
trio64 Crt40         00 00 00 00 00 00 00 00 - 00 00 00 00 00 00 00 00
trio64 Crt50         00 00 00 00 00 00 00 00 - 00 00 00 00 00 00 00 00
trio64 Crt60         00 00 00 00 00 00 00 00 - 00 00 00 00 00 00 00 00
trio64 hde          280   640
trio64 shb          288   648
trio64 ehb          2AA   682
trio64 ht           320   800
trio64 vde          190   400
trio64 vrs          19C   412
trio64 vre          19E   414
trio64 vt           1C1   449
trio64 Seq08         00 00 00 00 00 00 00 00 - 00 00 00 00 00 00 00 00
                     00
trio64 Crt2D         00 00 00
trio64 dclk m n r    14318180        0       -        0        0
ibm8514->dump
ibm8514 Advfunc          FFFF
ibm8514 Subsys           FFFF

vmf 0 vmdf 40000000 vf1 0 vbw 75000000
trio64->options
vga->init
s3hwgc->init
s3hwgc->resyncinit on 0x00000800 off 0x00000000
vga->init 0x00000811
trio64->init
trio64->init->s3generic
dbdumpmode
type=multisync75, size=800x600x8
frequency=40000000
x=800 (0x320), y=600 (0x258), z=8 (0x8)
ht=1056 (0x420), shb=840 (0x348), ehb=1000 (0x3E8)
shs=840 (0x348), ehs=1000 (0x3E8)
vt=633 (0x279), vrs=605 (0x25D), vre=607 (0x25F)
hsync=0, vsync=0, interlace=0
vga->dump
vga flag             Uenhanced|Fdump|Finit|Fsnarf
vga misc             EF
vga feature          00
vga sequencer        03 01 0F 00 0A
vga crt              7F 63 68 9D 69 9D277 F0 - 00 60 00 00 00 00 00 00
                    25D 2F257 64 6025D25E A3 -7FF
vga graphics         00 00 00 00 00 50 05 0F - FF
vga attribute        00 01 02 03 04 05 06 07 - 08 09 0A 0B 0C 0D 0E 0F
                     41 FF 0F 00 00
vga clock[0] f       40000000
vga clock[0] d i m      25821        0       -      121
vga clock[0] n p q r        9        0       -        0        2
vga clock[1] f      135000000
vga clock[1] d i m          0        0       -      127
vga clock[1] n p q r       31        0       -        0        3
vga vm a b            8388608        0
vga vmz               4194304
vga apz                     0
vga linear                  0
vga->attr: 0xC002D=PhoenixView(tm) VGA-Compatible BIOS Version
trio64->dump
trio64 flag
Hlinear|Uenhanced|Henhanced|Hpclk2x8|Fdump|Finit|Foptions|Fsnarf
trio64 Crt30         00 8D 40 20 10 00 00 00 - 00 00 10 7A 00 00
trio64 Crt40         00 00 00 00 00 00 00 00 - 00 00 00 00 00 00 00 00
trio64 Crt50         80 00 00 00 E8 00 00 00 - 98 00 0A 00 00 00 40 00
trio64 Crt60         FF 00 00 00 00 00 00 00 - 00 00 00 00 00 00 00 00
trio64 Seq08         00 00 00 00 00 00 00 00 - 00 00 49 79 00 02 00 00
                     00
trio64 Crt2D         00 00 00
trio64 dclk m n r    40025821      121       -        9        2
ibm8514->dump
ibm8514 flag         Uenhanced|Fdump
ibm8514 Advfunc          FFFF
ibm8514 Subsys           FFFF

main->exits

--
Jim Niemira                          "Gee, Doc, all I can see is a frog and
urmane@urmane.org            a bear in a rainbow-colored Studebaker."
http://www.urmane.org/~urmane         Max, The Muppet Movie


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

end of thread, other threads:[~2001-02-14 12:49 UTC | newest]

Thread overview: 9+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2001-02-14 12:49 [9fans] Plan9 in VMware? rog
  -- strict thread matches above, loose matches on Subject: below --
2001-02-13 22:24 forsyth
2001-02-13 19:56 Russ Cox
2001-02-13 21:28 ` Christian Smith
2001-02-13 21:34   ` Scott Schwartz
2001-02-05  9:56 Jim Niemira
2001-02-05 14:22 ` Ish Rattan
2001-02-13 14:20   ` Jim Niemira
2001-02-13 15:13     ` Christian Smith

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