Make better use of toolchains in the build.

This allows building for different platforms without having to retarget
the build. The configuration is also better checked by the assertions in
the toolchain templates.

A future change will redirect the root build rule to allow BSPs to
fully control their own build and configuration.

Change-Id: Iaae725d3bd000bc0ce7b9ef0f8f083350a73bd16
diff --git a/test/vm/hftest.py b/test/vm/hftest.py
index 91e3bcc..92e85e0 100755
--- a/test/vm/hftest.py
+++ b/test/vm/hftest.py
@@ -72,6 +72,7 @@
 def Main():
     parser = argparse.ArgumentParser()
     parser.add_argument("--out", required=True)
+    parser.add_argument("--log", required=True)
     parser.add_argument("--initrd", required=True)
     parser.add_argument("--suite")
     parser.add_argument("--test")
@@ -79,7 +80,7 @@
     # Resolve some paths.
     hafnium = os.path.join(args.out, "hafnium.bin")
     initrd = os.path.join(args.out, "initrd", args.initrd + ".img")
-    log = os.path.join(args.out, "test_log", args.initrd)
+    log = os.path.join(args.log, args.initrd)
     ensure_dir(log)
     print("Logs saved under", log)
     log_file = os.path.join(log, "sponge_log.log")