Xenserver 7.2 and hvmloader with DELL SLIC 2.4

Discussion in 'Virtualization' started by hidesan, Mar 20, 2014.

  1. hidesan

    hidesan MDL Novice

    Nov 27, 2010
    36
    12
    0
    #1 hidesan, Mar 20, 2014
    Last edited: Jul 26, 2017
  2. hidesan

    hidesan MDL Novice

    Nov 27, 2010
    36
    12
    0
    #2 hidesan, Mar 23, 2014
    Last edited by a moderator: Apr 20, 2017
    (OP)
    acpi2_0.h
    Code:
    *** acpi2_0.h
    --- acpi2_0.h.new
    ***************
    *** 44,51 ****
          uint32_t creator_revision;
      };
      
    ! #define ACPI_OEM_ID             "Xen"
    ! #define ACPI_OEM_TABLE_ID       "HVM"
      #define ACPI_OEM_REVISION       0
      
      #define ACPI_CREATOR_ID         ASCII32('H','V','M','L') /* HVMLoader */
    --- 44,51 ----
          uint32_t creator_revision;
      };
      
    ! #define ACPI_OEM_ID             "DELL  "
    ! #define ACPI_OEM_TABLE_ID       "PE_SC3  "
      #define ACPI_OEM_REVISION       0
      
      #define ACPI_CREATOR_ID         ASCII32('H','V','M','L') /* HVMLoader */
    
     
  3. hidesan

    hidesan MDL Novice

    Nov 27, 2010
    36
    12
    0
    #3 hidesan, Mar 23, 2014
    Last edited by a moderator: Apr 20, 2017
    (OP)
    build.c
    Code:
    *** build.c
    --- build.c.new
    ***************
    *** 23,28 ****
    --- 23,29 ----
      #include "ssdt_pm.h"
      #include "../config.h"
      #include "../util.h"
    + #include "slic.h"
      #include <xen/hvm/hvm_xs_strings.h>
      
      #define ACPI_MAX_SECONDARY_TABLES 16
    ***************
    *** 256,261 ****
    --- 257,263 ----
          struct acpi_20_waet *waet;
          struct acpi_20_tcpa *tcpa;
          unsigned char *ssdt;
    +     unsigned char *slc;
          static const uint16_t tis_signature[] = {0x0001, 0x0001, 0x0001};
          uint16_t *tis_hdr;
          void *lasa;
    ***************
    *** 346,351 ****
    --- 348,358 ----
      
          /* Load any additional tables passed through. */
          nr_tables += construct_passthrough_tables(table_ptrs, nr_tables);
    + /* SLIC */
    + slc = mem_alloc(sizeof(SLIC), 16);
    + if (!slc) return -1;
    + memcpy(slc, SLIC, sizeof(SLIC));
    + table_ptrs[nr_tables++] = (unsigned long)slc;
      
          table_ptrs[nr_tables] = 0;
          return nr_tables;
    
    
     
  4. hidesan

    hidesan MDL Novice

    Nov 27, 2010
    36
    12
    0
    Xenserver 6.5 hvmloader

    A hvmloader with slic2.3 (DELL) for xenserver 6.5 is ready.
    Compiled from source code and fixed GPU high usage bug.

    preview.tinyurl.com/n9pmwga
     
  5. LostED

    LostED MDL MIRROR Hardlink

    Jul 30, 2009
    3,933
    9,515
    120
    #5 LostED, Oct 12, 2015
    Last edited by a moderator: Apr 20, 2017
  6. fbifido

    fbifido MDL Member

    Jun 6, 2007
    187
    26
    10
    THANKS.

    Please show me how you created this.
    How to setup the build environment.
    Where to get/put the source so that I can re-build this with any of SLIC2.1/2.2/2.3 Bins I Have.
    What programs do I need.
    A Step-by-Step walk-by on how you did this & how to use it.

    Thanks again.
     
  7. hidesan

    hidesan MDL Novice

    Nov 27, 2010
    36
    12
    0
    #7 hidesan, Oct 14, 2015
    Last edited: Oct 15, 2015
    (OP)
    To whom it may concern:

    I found a bug in hvmloader which was uploaded on preview.tinyurl.com/n9pmwga .
    The hvmloader works smoothly and activates Win7, however, when you start IGD passthrough to this VM, the screen would turn to "blue-screen".

    As far as, you don't use IGD passthrough, this BIOS is suitable for you.

    I am investigating the cause of blue-screen, then. I will upload new hvmloader again.
    Please wait for a few days.
     
  8. fbifido

    fbifido MDL Member

    Jun 6, 2007
    187
    26
    10
    Hi hidesan,
    a penny for thought,

    Can you share the problems you are having and solutions you may look at.
    I may not be able to help just yet, but I am sure there are people on this forum, that can help.

    Sorry for asking this when you are so busy, can you share your setup & how you did the 6.5 mod. Thanks.
     
  9. hidesan

    hidesan MDL Novice

    Nov 27, 2010
    36
    12
    0
    Thank you for your kind consideration of supporting this issue.
    I'm cleaning up CentOS env. and reinstalled it for clean compilation of Xen.
    Now, it is a little busy to start compilation again.
    I will let you know when I can start again.
     
  10. fbifido

    fbifido MDL Member

    Jun 6, 2007
    187
    26
    10
  11. hidesan

    hidesan MDL Novice

    Nov 27, 2010
    36
    12
    0
    #11 hidesan, Nov 21, 2015
    Last edited: Nov 23, 2015
    (OP)
    build hvmloader with CentOS7 environment

    Hi, fbifido

    Please find my direction to build hvmloader with slic.
    I built xen with CentOS7 with clean installed. (Correction dated Nov 23, 2015. Please use CentOS 5.10)

    (1) Get the source!!!
    I downloaded from git repositories instead of rpm. I think this is much easier.
    # git clone git://xenbits.xen.org/projects/xen.git (Correction dated Nov 23, 2015. Please use xen 4.4.1)

    (2) Install packages
    I recommend to add EPEL libraries before ./configure and make.
    # yum install epel-release

    groupinstall "Development Tools" doesn't work with CentOS env., so a small change is required. Pls use "groups mark convert" to change old group substitution.

    # yum-builddep kernel
    # yum groups mark convert
    # yum groupinstall "Development Tools"
    # yum install transfig wget tar less texi2html libaio-devel dev86 glibc-devel e2fsprogs-devel gitk mkinitrd iasl xz-devel bzip2-devel
    # yum install pciutils-libs pciutils-devel SDL-devel libX11 -devel gtk2-devel bridge-utils PyXML qemu-common qemu-img mercurial texinfo
    # yum install libidn-devel yajl yajl-devel ocaml ocaml-find lib ocaml-findlib-devel python-devel uuid-devel libuuid-devel openssl-devel
    # yum install python-markdown pandoc systemd-devel glibc-devel.i686
    # yum install epel-release dev86 ncurses-devel libnl3-devel lzo-devel
    # yum install e2fsprogs-devel libbsd-devel valgrind-devel

    (3) Patch acpi2_0.h, build.c and pci.c
    Please find patch files herewith attached.

    (4) Create slic.h
    # xxd -i dell23.bin | grep -v len | sed 's/unsigned char.*/ static char SLIC[] = {/' > slic.h
    I used DELL[PE_SC3]2.3-8ECDF13C.BIN to create slic.h.

    (5) ./configure and make

    (6) That's all.
     
  12. fbifido

    fbifido MDL Member

    Jun 6, 2007
    187
    26
    10
    #12 fbifido, Nov 23, 2015
    Last edited by a moderator: Apr 20, 2017
    Thanks, I will try it.

    acpi2_0.h
    +#define ACPI_OEM_ID "DELL "
    +#define ACPI_OEM_TABLE_ID "PE_SC3 "

    is there a space at the end of each word?


    q1) What do I need to do to use a more updated qemu & seabios ?

    Thanks.


    update:

    It seems to have work, no error on "make"
    xen/dist/install/usr/local/lib/xen/boot/hvmloader
     
  13. hidesan

    hidesan MDL Novice

    Nov 27, 2010
    36
    12
    0
  14. fbifido

    fbifido MDL Member

    Jun 6, 2007
    187
    26
    10
    Sorry, but I check, it's one space after each word.
    "DELL" + 1 space = "DELL "
    "PE_SC3" + 1 space = "PE_SC3 "

    Thanks.
     
  15. hidesan

    hidesan MDL Novice

    Nov 27, 2010
    36
    12
    0
    Then, that's my mistake. Please insert two spaces.
     
  16. fbifido

    fbifido MDL Member

    Jun 6, 2007
    187
    26
    10
    #16 fbifido, Nov 23, 2015
    Last edited: Nov 23, 2015
    roger that, Thanks.
    :)

    so, 2 space after each word.
    "DELL" + 2 space = "DELL<space><space>"
    "PE_SC3" + 2 space = "PE_SC3<space><space>"

    Done, I will ./configure & make again.
     
  17. fbifido

    fbifido MDL Member

    Jun 6, 2007
    187
    26
    10
    Hi,
    Thanks for the step-by-step tutorial on xen from source on centos.

    just a follow up, did you get a chance to look into this problem, yet?
     
  18. hidesan

    hidesan MDL Novice

    Nov 27, 2010
    36
    12
    0
    I'm still struggling with this issue. Pass-through IGD or Nvidia causes a lot of problem.
    When it comes to use kvm/qemu with slic2.3, it is very easy to add slic tables, however, it is very difficult to pass through graphics cards.

     
  19. fbifido

    fbifido MDL Member

    Jun 6, 2007
    187
    26
    10
  20. fbifido

    fbifido MDL Member

    Jun 6, 2007
    187
    26
    10
    #20 fbifido, Nov 24, 2015
    Last edited: Dec 14, 2015