xen-devel.lists.xenproject.org archive mirror
 help / color / mirror / Atom feed
From: Chapuis Nicolas <ingchapuisnicolas@gmail.com>
To: Konrad Rzeszutek Wilk <konrad.wilk@oracle.com>, xen-devel@lists.xen.org
Subject: Re: Destroy laptop with pcistub
Date: Tue, 19 Nov 2013 09:32:37 +0100	[thread overview]
Message-ID: <528B2225.8030501@gmail.com> (raw)
In-Reply-To: <20131118154316.GA3364@phenom.dumpdata.com>


[-- Attachment #1.1: Type: text/plain, Size: 12375 bytes --]

Le 18/11/2013 16:43, Konrad Rzeszutek Wilk a écrit :
> On Sun, Nov 17, 2013 at 01:08:03AM +0100, Chapuis Nicolas wrote:
>> Hi everybody.
>> For begin, congratulation for your excellent jobs...
>> xen work fine on my main server.
>> But I would to push with vga passtrough,
>> with an dell laptop latitude E6520.
>> modprobe pci-stub
>>
>> echo "10de 1056" > /sys/bus/pci/drivers/pci-stub/new_id
>> echo "0000:01:00.0" > /sys/bus/pci/devices/0000\:01\:00.0/driver/unbind
>> echo "0000:01:00.0" > /sys/bus/pci/drivers/pci-stub/bind
>> echo "10de 0e08" > /sys/bus/pci/drivers/pci-stub/new_id
>> echo "0000:01:00.1" > /sys/bus/pci/devices/0000\:01\:00.1/driver/unbind
>> echo "0000:01:00.1" > /sys/bus/pci/drivers/pci-stub/bind
>> echo "8086 1c26" > /sys/bus/pci/drivers/pci-stub/new_id
>> echo "0000:00:1d.0" > /sys/bus/pci/devices/0000\:00\:1d.0/driver/unbind
>> echo "0000:00:1d.0" > /sys/bus/pci/drivers/pci-stub/bind
>> echo "8086 1c2d" > /sys/bus/pci/drivers/pci-stub/new_id
>> echo "0000:00:1a.0" > /sys/bus/pci/devices/0000\:00\:1a.0/driver/unbind
>> echo "0000:00:1a.0" > /sys/bus/pci/drivers/pci-stub/bind
>> echo "8086 1c20" > /sys/bus/pci/drivers/pci-stub/new_id
>> echo "0000:00:1b.0" > /sys/bus/pci/devices/0000\:00\:1b.0/driver/unbind
>> echo "0000:00:1b.0" > /sys/bus/pci/drivers/pci-stub/bind
>> echo "14e4 4727" > /sys/bus/pci/drivers/pci-stub/new_id
>> echo "0000:03:00.0" > /sys/bus/pci/devices/0000\:03\:00.0/driver/unbind
>> echo "0000:03:00.0" > /sys/bus/pci/drivers/pci-stub/bind
>>
>> here all was right, juste 01:00.0 and 01:00.1 doesn't work
>> for have screen given to domU....
>> for search little more, I have try (PCI express):
>> echo "8086 1c10" > /sys/bus/pci/drivers/pci-stub/new_id
>> echo "0000:00:1c.0" > /sys/bus/pci/devices/0000\:00\:1c.0/driver/unbind
>> echo "0000:00:1c.0" > /sys/bus/pci/drivers/pci-stub/bind
>> echo "8086 1c12" > /sys/bus/pci/drivers/pci-stub/new_id
>> echo "0000:00:1c.1" > /sys/bus/pci/devices/0000\:00\:1c.1/driver/unbind
>> echo "0000:00:1c.1" > /sys/bus/pci/drivers/pci-stub/bind
>> echo "8086 1c14" > /sys/bus/pci/drivers/pci-stub/new_id
>> echo "0000:00:1c.2" > /sys/bus/pci/devices/0000\:00\:1c.2/driver/unbind
>> echo "0000:00:1c.2" > /sys/bus/pci/drivers/pci-stub/bind
>> echo "8086 1c16" > /sys/bus/pci/drivers/pci-stub/new_id
>> echo "0000:00:1c.3" > /sys/bus/pci/devices/0000\:00\:1c.3/driver/unbind
>> echo "0000:00:1c.3" > /sys/bus/pci/drivers/pci-stub/bind
>>
>> with Xen 4.4 and last linux kernel from :
>> git://git.kernel.org/pub/scm/linux/kernel/git/konrad/xen.git
> Please use the Linus one.
After make an flash bios with an little cable between (+/-)
All is right, I trie to make an pci/vga passthrough
with an Nvidia Nvs 4200m
so for that, I try to give me all chance to have
an pci passthrough in linux kernel.
Why do you thing, it's better to use linus one?
Yes less unstable, but more advanced for Visualization? no?
>> that was good until 10-15minutes,
>> when an moment, .... shutdown...
> Did you launch any guests?
Yes, 2 guest,
1 ubuntu installation (from disk iso, the lastest in destkop amd64) => 
but after boot no screen on my nvidia (gfx_passtrought try in 1 and 0)
01:00.0 and 01:00.1 try in pci passthrough successfully, so just "black 
screen" :) (and other like usb but no disk controller)
I have the sound but no screen.
So, Before I used to install linux, I had an windows 7 on the computer,
And after the crash of the first ubuntu boot
I have try to emulated this win7, but nothing, For the moment It's an 
another problem,
but is not the subject and not xen problem. (mbr boot I have to learn 
more about)

>> and never can reboot.
>> no bios access, sadly, I thing the laptop is dead.
> What are some of the PCI devices you passed in? As, in what
> does lspci show?
>
> Did you by any chance pass in also your disk controller?
>
Linux xen 3.11.0-rc7+ #7 SMP Fri Nov 1 18:43:30 CET 2013 x86_64 GNU/Linux

00:00.0 Host bridge: Intel Corporation 2nd Generation Core Processor 
Family DRAM Controller (rev 09)
00:01.0 PCI bridge: Intel Corporation Xeon E3-1200/2nd Generation Core 
Processor Family PCI Express Root Port (rev 09)
00:16.0 Communication controller: Intel Corporation 6 Series/C200 Series 
Chipset Family MEI Controller #1 (rev 04)
00:19.0 Ethernet controller: Intel Corporation 82579LM Gigabit Network 
Connection (rev 04)
00:1a.0 USB controller: Intel Corporation 6 Series/C200 Series Chipset 
Family USB Enhanced Host Controller #2 (rev 04)
00:1b.0 Audio device: Intel Corporation 6 Series/C200 Series Chipset 
Family High Definition Audio Controller (rev 04)
00:1c.0 PCI bridge: Intel Corporation 6 Series/C200 Series Chipset 
Family PCI Express Root Port 1 (rev b4)
00:1c.1 PCI bridge: Intel Corporation 6 Series/C200 Series Chipset 
Family PCI Express Root Port 2 (rev b4)
00:1c.2 PCI bridge: Intel Corporation 6 Series/C200 Series Chipset 
Family PCI Express Root Port 3 (rev b4)
00:1c.3 PCI bridge: Intel Corporation 6 Series/C200 Series Chipset 
Family PCI Express Root Port 4 (rev b4)
00:1d.0 USB controller: Intel Corporation 6 Series/C200 Series Chipset 
Family USB Enhanced Host Controller #1 (rev 04)
00:1f.0 ISA bridge: Intel Corporation QM67 Express Chipset Family LPC 
Controller (rev 04)
00:1f.2 RAID bus controller: Intel Corporation 82801 Mobile SATA 
Controller [RAID mode] (rev 04)
00:1f.3 SMBus: Intel Corporation 6 Series/C200 Series Chipset Family 
SMBus Controller (rev 04)
01:00.0 VGA compatible controller: NVIDIA Corporation GF119 [Quadro NVS 
4200M] (rev a1)
01:00.1 Audio device: NVIDIA Corporation GF119 HDMI Audio Controller 
(rev a1)
03:00.0 Network controller: Broadcom Corporation BCM4313 802.11b/g/n 
Wireless LAN Controller (rev 01)

00:00.0 0600: 8086:0104 (rev 09)
00:01.0 0604: 8086:0101 (rev 09)
00:16.0 0780: 8086:1c3a (rev 04)
00:19.0 0200: 8086:1502 (rev 04)
00:1a.0 0c03: 8086:1c2d (rev 04)
00:1b.0 0403: 8086:1c20 (rev 04)
00:1c.0 0604: 8086:1c10 (rev b4)
00:1c.1 0604: 8086:1c12 (rev b4)
00:1c.2 0604: 8086:1c14 (rev b4)
00:1c.3 0604: 8086:1c16 (rev b4)
00:1d.0 0c03: 8086:1c26 (rev 04)
00:1f.0 0601: 8086:1c4f (rev 04)
00:1f.2 0104: 8086:282a (rev 04)
00:1f.3 0c05: 8086:1c22 (rev 04)
01:00.0 0300: 10de:1056 (rev a1)
01:00.1 0403: 10de:0e08 (rev a1)
03:00.0 0280: 14e4:4727 (rev 01)


I forget : the complete test I had made is :
modprobe pci-stub

echo "10de 1056" > /sys/bus/pci/drivers/pci-stub/new_id
echo "0000:01:00.0" > /sys/bus/pci/devices/0000\:01\:00.0/driver/unbind
echo "0000:01:00.0" > /sys/bus/pci/drivers/pci-stub/bind

echo "10de 0e08" > /sys/bus/pci/drivers/pci-stub/new_id
echo "0000:01:00.1" > /sys/bus/pci/devices/0000\:01\:00.1/driver/unbind
echo "0000:01:00.1" > /sys/bus/pci/drivers/pci-stub/bind

echo "8086 1c3a" > /sys/bus/pci/drivers/pci-stub/new_id
echo "0000:00:16.0" > /sys/bus/pci/devices/0000\:00\:16.0/driver/unbind
echo "0000:00:16.0" > /sys/bus/pci/drivers/pci-stub/bind

echo "8086 1c10" > /sys/bus/pci/drivers/pci-stub/new_id
echo "0000:00:1c.0" > /sys/bus/pci/devices/0000\:00\:1c.0/driver/unbind
echo "0000:00:1c.0" > /sys/bus/pci/drivers/pci-stub/bind

echo "8086 1c12" > /sys/bus/pci/drivers/pci-stub/new_id
echo "0000:00:1c.1" > /sys/bus/pci/devices/0000\:00\:1c.1/driver/unbind
echo "0000:00:1c.1" > /sys/bus/pci/drivers/pci-stub/bind

echo "8086 1c14" > /sys/bus/pci/drivers/pci-stub/new_id
echo "0000:00:1c.2" > /sys/bus/pci/devices/0000\:00\:1c.2/driver/unbind
echo "0000:00:1c.2" > /sys/bus/pci/drivers/pci-stub/bind

echo "8086 1c16" > /sys/bus/pci/drivers/pci-stub/new_id
echo "0000:00:1c.3" > /sys/bus/pci/devices/0000\:00\:1c.3/driver/unbind
echo "0000:00:1c.3" > /sys/bus/pci/drivers/pci-stub/bind

echo "8086 1c26" > /sys/bus/pci/drivers/pci-stub/new_id
echo "0000:00:1d.0" > /sys/bus/pci/devices/0000\:00\:1d.0/driver/unbind
echo "0000:00:1d.0" > /sys/bus/pci/drivers/pci-stub/bind

echo "8086 1c2d" > /sys/bus/pci/drivers/pci-stub/new_id
echo "0000:00:1a.0" > /sys/bus/pci/devices/0000\:00\:1a.0/driver/unbind
echo "0000:00:1a.0" > /sys/bus/pci/drivers/pci-stub/bind

echo "8086 1c20" > /sys/bus/pci/drivers/pci-stub/new_id
echo "0000:00:1b.0" > /sys/bus/pci/devices/0000\:00\:1b.0/driver/unbind
echo "0000:00:1b.0" > /sys/bus/pci/drivers/pci-stub/bind

echo "14e4 4727" > /sys/bus/pci/drivers/pci-stub/new_id
echo "0000:03:00.0" > /sys/bus/pci/devices/0000\:03\:00.0/driver/unbind
echo "0000:03:00.0" > /sys/bus/pci/drivers/pci-stub/bind

xl pci-assignable-list
----------------------------------------------------------------------
modprobe xen-pciback

echo "0000:01:00.0" > /sys/bus/pci/devices/0000\:01\:00.0/driver/unbind
echo "0000:01:00.0" > /sys/bus/pci/drivers/pciback/new_slot
echo "0000:01:00.0" > /sys/bus/pci/drivers/pciback/bind

echo "0000:01:00.1" > /sys/bus/pci/devices/0000\:01\:00.1/driver/unbind
echo "0000:01:00.1" > /sys/bus/pci/drivers/pciback/new_slot
echo "0000:01:00.1" > /sys/bus/pci/drivers/pciback/bind

echo "0000:00:16.0" > /sys/bus/pci/devices/0000\:00\:16.0/driver/unbind
echo "0000:00:16.0" > /sys/bus/pci/drivers/pciback/new_slot
echo "0000:00:16.0" > /sys/bus/pci/drivers/pciback/bind
  {
echo "0000:00:1f.0" > /sys/bus/pci/devices/0000\:00\:1f.0/driver/unbind
echo "0000:00:1f.0" > /sys/bus/pci/drivers/pciback/new_slot
echo "0000:00:1f.0" > /sys/bus/pci/drivers/pciback/bind

echo "0000:00:1f.3" > /sys/bus/pci/devices/0000\:00\:1f.3/driver/unbind
echo "0000:00:1f.3" > /sys/bus/pci/drivers/pciback/new_slot
echo "0000:00:1f.3" > /sys/bus/pci/drivers/pciback/bind
} => that is not pci passtrought able (I thing I have make that by despair)
And like you have said, Yes I stupidly try to pass disk controller :( 
just I would
confined in 1f.2, sorry....

echo "0000:00:1d.0" > /sys/bus/pci/devices/0000\:00\:1d.0/driver/unbind
echo "0000:00:1d.0" > /sys/bus/pci/drivers/pciback/new_slot
echo "0000:00:1d.0" > /sys/bus/pci/drivers/pciback/bind

echo "0000:00:1a.0" > /sys/bus/pci/devices/0000\:00\:1a.0/driver/unbind
echo "0000:00:1a.0" > /sys/bus/pci/drivers/pciback/new_slot
echo "0000:00:1a.0" > /sys/bus/pci/drivers/pciback/bind

echo "0000:00:1b.0" > /sys/bus/pci/devices/0000\:00\:1b.0/driver/unbind
echo "0000:00:1b.0" > /sys/bus/pci/drivers/pciback/new_slot
echo "0000:00:1b.0" > /sys/bus/pci/drivers/pciback/bind

echo "0000:03:00.0" > /sys/bus/pci/devices/0000\:03\:00.0/driver/unbind
echo "0000:03:00.0" > /sys/bus/pci/drivers/pciback/new_slot
echo "0000:03:00.0" > /sys/bus/pci/drivers/pciback/bind

with  :
builder='hvm'
memory = 4096
vcpus  = 3
name   = 'ubuntu.darkweb.mfg.com'
#vif    = ['bridge=xenbr0']
#disk   = ['phy:/dev/xenlvm/ubuntu.darkweb.mfg.com,hda,w', 
'file:/home/chapuis/ubuntu-13.10-desktop-amd64.iso,hdc:cdrom,r']
#disk   = ['phy:/dev/xenlvm/ubuntu.darkweb.mfg.com,hda,w']
disk   = ['phy:/dev/sda1,hda,w']
acpi   = 1
#pci = [ '01:00.0', '01:00.1' ]
gfx_passthru = 0
#pci = [ '00:1d.0' , '00:1a.0', '00:1b.0', '03:00.0' ]
pci = [ '01:00.0', '01:00.1','00:1a.0','00:1b.0','00:1d.0', '03:00.0' ]

#device_model = 'qemu-dm'
# boot on floppy (a), hard disk (c) or CD-ROM (d)
# default: hard disk, cd-rom, floppy
#boot="dc" # boot cdrom en premiere
boot="c" # boot disque only

#monitor=1
pci_power_mgmt=1
xen_platform_pci=1
pci_msitranslate=1
viridian=1
hpet=1
#acpi=1
apic=1
pae=1
#sdl=0
#serial='pty'
vfb = [ 'type=vnc,vnclisten=0.0.0.0,vncdisplay=2' ]
#vnc=2
#vnclisten=""
vncpasswd=""

on_poweroff = 'destroy'
on_reboot   = 'restart'
on_crash    = 'restart'



>> I'm so sorry, I can have more information about kernel conf,
>> just not forgetten with in begin the last debian installation server.7
>>
>> thanks for heard me.
>> good luck and fine jobs.
I think in the end, I can't use pciback or pcistub with nvidia Quadro 
nvs 4200M
I'm ready to try :
http://wiki.xen.org/mediawiki/images/6/63/Xen_VGA_Passthrough_to_Windows_8_Consumer_Preview_64-bit_English_HVM_domU_and_Windows_XP_Home_Edition_SP3_HVM_domU_with_Xen_4.2-unstable_Changeset_25070_and_Linux_Kernel_3.3.0_in_Ubuntu_11.10_oneiric_ocelot_amd64_Final_Release_Dom0.pdf
But no nvflash work for save the bin rom nvidia :
nvflash.exe –save vgabios.rom => echec unknow rom

Just If someone know where I can find the rom for nvidia Quadro nvs 4200M
or an generic rom, I'm ready now to make in the end the tutorial from :
Author: Teo En Ming (Zhang Enming)

>> _______________________________________________
>> Xen-devel mailing list
>> Xen-devel@lists.xen.org
>> http://lists.xen.org/xen-devel
Thanks a lot to have heard me :)


[-- Attachment #1.2: Type: text/html, Size: 16860 bytes --]

[-- Attachment #2: Type: text/plain, Size: 126 bytes --]

_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

      reply	other threads:[~2013-11-19  8:32 UTC|newest]

Thread overview: 3+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2013-11-17  0:08 Destroy laptop with pcistub Chapuis Nicolas
2013-11-18 15:43 ` Konrad Rzeszutek Wilk
2013-11-19  8:32   ` Chapuis Nicolas [this message]

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=528B2225.8030501@gmail.com \
    --to=ingchapuisnicolas@gmail.com \
    --cc=konrad.wilk@oracle.com \
    --cc=xen-devel@lists.xen.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
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).