On Thu, 1 Oct 2015, James Cameron wrote:
-vga vmware -> VMWare (15ad:404) - DOES NOT WORK
For me, "-vga vmware" reproduces your problem.
I think I have this solved with the following patch:
Log: Fix VMWare VGA adapter
* Send command to the PCI command port to inform the device that I/O port has been enabled.
* Issue a warning during PCI resouce allocation if "reg" property has not been provided (with diag-switch? true).
* Generate "reg" property for the PCI resource allocator:
ok dev /display ok .properties linebytes 00001000 depth 00000020 height 00000300 width 00000400 assigned-addresses 81001010 00000000 00008010 00000000 00000010 82001014 00000000 10000000 00000000 01000000 82001018 00000000 11000000 00000000 00010000 reg 00001000 00000000 00000000 00000000 00000000 01001010 00000000 00000000 00000000 00000010 02001014 00000000 00000000 00000000 01000000 02001018 00000000 00000000 00000000 00010000 iso6429-1983-colors character-set ISO8859-1 device_type display name display devsel-speed 00000000 class-code 00030000 subsystem-vendor-id 000015ad subsystem-id 00000405 max-latency 00000000 min-grant 00000000 revision-id 00000000 device-id 00000405 vendor-id 000015ad
Index: dev/pcibus.fth =================================================================== --- dev/pcibus.fth (wersja 3784) +++ dev/pcibus.fth (kopia robocza) @@ -1183,7 +1183,8 @@ 4 ( increment ) then ( increment ) +loop - + else + " reg property missing!" diag-type-cr then r> finish-aa-property ; Index: dev/video/controlr/vmsvga.fth =================================================================== --- dev/video/controlr/vmsvga.fth (wersja 3784) +++ dev/video/controlr/vmsvga.fth (kopia robocza) @@ -85,6 +85,9 @@ h# 200.0000 instance value /mem : map-regs ( -- ) 0 0 my-space h# 0100.0010 + h# 10 " map-in" $call-parent to regs + my-space h# 04 + + dup " config-w@" $call-parent + 1 or swap " config-w!" $call-parent ; : map-mem ( -- ) my-space h# 14 + " config-l@" $call-parent if @@ -116,6 +119,23 @@ unmap-regs abort \ We don't support version 0 ; + +: int+ ( adr len n -- adr' len' ) encode-int encode+ ; + +: set-reg-property + my-address my-space encode-phys 0 int+ h# 0 int+ + my-address my-space h# 0100.0010 + encode-phys encode+ 0 int+ h# 10 int+ + my-address my-space h# 0200.0014 + encode-phys encode+ 0 int+ /fb int+ + my-address my-space h# 0200.0018 + encode-phys encode+ 0 int+ /fifo int+ + " reg" property +; + +: probe ( -- ) + map-regs + set-reg-property + unmap-regs +; + : init-fb ( -- ) depth 7 reg! 7 reg@ depth <> if 7 reg@ to depth then
Index: dev/video/vmsvga.bth =================================================================== --- dev/video/vmsvga.bth (wersja 3784) +++ dev/video/vmsvga.bth (kopia robocza) @@ -12,6 +12,7 @@ " display" device-name
fload ${BP}/dev/video/controlr/vmsvga.fth \ VMware-specific words +probe
end0