summaryrefslogtreecommitdiff
path: root/util
diff options
context:
space:
mode:
authorChris Ching <chingcodes@google.com>2016-05-17 11:56:03 -0600
committerMartin Roth <martinroth@google.com>2016-06-12 12:27:57 +0200
commit5343b1fc27827e0a0cbced395e9353ef4db50d5c (patch)
tree212b519d22be4b0151ccb6646ab45626b613bc2f /util
parentbb9c90a2074ac0138a4d1083bf0d9f52a39b47d5 (diff)
autoport: Add prompt for enabling unsafe inteltool glx option
Change-Id: Ib674ab7ca8b6464de553a86536b1762fda98d94e Signed-off-by: Chris Ching <chingcodes@google.com> Reviewed-on: https://review.coreboot.org/14901 Tested-by: build bot (Jenkins) Reviewed-by: Martin Roth <martinroth@google.com>
Diffstat (limited to 'util')
-rw-r--r--util/autoport/log_maker.go45
1 files changed, 43 insertions, 2 deletions
diff --git a/util/autoport/log_maker.go b/util/autoport/log_maker.go
index bae24c8fa4..50e0e65827 100644
--- a/util/autoport/log_maker.go
+++ b/util/autoport/log_maker.go
@@ -1,6 +1,8 @@
package main
import (
+ "errors"
+ "fmt"
"io"
"io/ioutil"
"log"
@@ -45,13 +47,52 @@ func RunAndSave(output string, name string, arg ...string) {
}
}
+const MAXPROMPTRETRY = 3
+
+func PromptUser(prompt string, opts []string) (match string, err error) {
+ for i := 1; i < MAXPROMPTRETRY; i++ {
+ fmt.Println("%s. (%s) Default:%s", prompt, strings.Join(opts, "/"), opts[0])
+ var usrInput string
+ fmt.Scanln(&usrInput)
+
+ // Check for default entry
+ if usrInput == "" {
+ match = opts[0]
+ return
+ }
+
+ for _, opt := range opts {
+ if opt == usrInput {
+ match = opt
+ return
+ }
+ }
+ }
+ err = errors.New("max retries exceeded")
+ fmt.Fprintln(os.Stderr, "ERROR: max retries exceeded")
+ return
+}
+
func MakeLogs(outDir string) {
os.MkdirAll(outDir, 0700)
RunAndSave(outDir+"/lspci.log", "lspci", "-nnvvvxxxx")
RunAndSave(outDir+"/dmidecode.log", "dmidecode")
RunAndSave(outDir+"/acpidump.log", "acpidump")
- /* FIXME:XX */
- RunAndSave(outDir+"/inteltool.log", "../inteltool/inteltool", "-a")
+
+ inteltoolArgs := "-a"
+ opt, err := PromptUser("WARNING: The following tool MAY cause your system to hang when it attempts "+
+ "to probe for graphics registers. Having the graphics registers will help create a better port. "+
+ "Should autoport probe these registers?",
+ []string{"y", "yes", "n", "no"})
+
+ // Continue even if there is an error
+
+ switch opt {
+ case "y", "yes":
+ opt += " -f"
+ }
+
+ RunAndSave(outDir+"/inteltool.log", "../inteltool/inteltool", inteltoolArgs)
RunAndSave(outDir+"/ectool.log", "../ectool/ectool")
SysDir := "/sys/class/sound/card0/"