[Beignet] [PATCH V2] gbe_bin_generater: fix two bugs.

Guo, Yejun yejun.guo at intel.com
Mon May 26 00:03:32 PDT 2014


one comment: <iostream> is already included at line 29 in gbe_bin_generater.cpp. Others are ok.


Thanks
Yejun


-----Original Message-----
From: Beignet [mailto:beignet-bounces at lists.freedesktop.org] On Behalf Of Zhigang Gong
Sent: Friday, May 23, 2014 7:05 PM
To: beignet at lists.freedesktop.org
Cc: Zhigang Gong
Subject: [Beignet] [PATCH V2] gbe_bin_generater: fix two bugs.

From: Zhigang Gong <zhigang.gong at linux.intel.com>

The pci id detecting method is broken on some system.
And the gen pci id parsing in gbe_bin_generater is incorrect when the pci id has a-f hex digit.

v2:
Add VGA to filter out some nonVGA devices.
Signed-off-by: Zhigang Gong <zhigang.gong at linux.intel.com>
---
 backend/src/gbe_bin_generater.cpp | 7 +++++--
 src/GetGenID.sh                   | 2 +-
 2 files changed, 6 insertions(+), 3 deletions(-)

diff --git a/backend/src/gbe_bin_generater.cpp b/backend/src/gbe_bin_generater.cpp
index 50020b5..898e2f2 100644
--- a/backend/src/gbe_bin_generater.cpp
+++ b/backend/src/gbe_bin_generater.cpp
@@ -34,6 +34,7 @@
 #include <vector>
 #include <algorithm>
 #include <stdlib.h>
+#include <iostream>
 #include <stdio.h>
 
 #include "backend/program.h"
@@ -46,7 +47,7 @@ using namespace std;
 #define FILE_BUILD_FAILED 3
 #define FILE_SERIALIZATION_FAILED 4
 
-static int gen_pci_id = 0;
+static uint32_t gen_pci_id = 0;
 
 class program_build_instance {
 
@@ -296,7 +297,9 @@ int main (int argc, const char **argv)
                 return 1;
             }
 
-            gen_pci_id = (s[0] - '0') << 12 | (s[1] - '0') << 8 | (s[2] - '0') << 4 | (s[3] - '0');
+            std::stringstream str(s);
+            str >> std::hex >> gen_pci_id;
+
             used_index[optind-1] = 1;
             // We must set the image base index here, as we invoke the backend in a non-standard way.
             gbe_set_image_base_index(3); diff --git a/src/GetGenID.sh b/src/GetGenID.sh index 3114bd8..f8cb0a7 100755
--- a/src/GetGenID.sh
+++ b/src/GetGenID.sh
@@ -1,2 +1,2 @@
 #!/bin/bash
-lspci -nn | grep "Gen .* Graphics" -i  | grep "\[8086:.*\]" -o | awk -F : '{print $2}' | awk -F ] '{print $1}'
+lspci -nn | grep "VGA.*Gen.*\[8086:" -i  | grep "\[8086:.*\]" -o | awk -F : '{print $2}' | awk -F ] '{print $1}'
--
1.8.3.2

_______________________________________________
Beignet mailing list
Beignet at lists.freedesktop.org
http://lists.freedesktop.org/mailman/listinfo/beignet


More information about the Beignet mailing list