@@ -16,6 +16,7 @@ open Printf
1616open Stringext
1717open Hashtblext
1818open Pervasiveext
19+ open Fun
1920open Listext
2021
2122open Device_common
@@ -1062,20 +1063,24 @@ let add_noexn ~xc ~xs ~hvm ~msitranslate ~pci_power_mgmt ?(flrscript=None) pcide
10621063
10631064 let others = (match flrscript with None -> [] | Some script -> [ (" script" , script) ]) in
10641065 let xsdevs = List. mapi (fun i dev ->
1065- sprintf " dev-%d" i, to_string (dev.domain, dev.bus, dev.slot, dev.func);
1066- ) pcidevs in
1066+ [
1067+ sprintf " key-%d" i, to_string (dev.domain, dev.bus, dev.slot, dev.func);
1068+ sprintf " dev-%d" i, to_string (dev.domain, dev.bus, dev.slot, dev.func);
1069+ sprintf " opts-%d" i, " msitranslate=0,power_mgmt=0" ;
1070+ sprintf " state-%d" i, " 1" ;
1071+ ]
1072+ ) pcidevs |> List. concat in
10671073
10681074 let backendlist = [
10691075 " frontend-id" , sprintf " %u" domid;
10701076 " online" , " 1" ;
1071- " num_devs" , string_of_int (List. length xsdevs );
1077+ " num_devs" , string_of_int (List. length pcidevs );
10721078 " state" , string_of_int (Xenbus_utils. int_of Xenbus_utils. Initialising );
1073- " msitranslate" , string_of_int (msitranslate);
1074- " pci_power_mgmt" , string_of_int (pci_power_mgmt);
10751079 ] and frontendlist = [
10761080 " backend-id" , " 0" ;
10771081 " state" , string_of_int (Xenbus_utils. int_of Xenbus_utils. Initialising );
10781082 ] in
1083+
10791084 Generic. add_device ~xs device (others @ xsdevs @ backendlist) frontendlist [] ;
10801085 ()
10811086
0 commit comments