diff options
author | RajithaY <rajithax.yerrumsetty@intel.com> | 2017-04-25 03:31:15 -0700 |
---|---|---|
committer | Rajitha Yerrumchetty <rajithax.yerrumsetty@intel.com> | 2017-05-22 06:48:08 +0000 |
commit | bb756eebdac6fd24e8919e2c43f7d2c8c4091f59 (patch) | |
tree | ca11e03542edf2d8f631efeca5e1626d211107e3 /qemu/roms/SLOF/board-qemu/slof/tree.fs | |
parent | a14b48d18a9ed03ec191cf16b162206998a895ce (diff) |
Adding qemu as a submodule of KVMFORNFV
This Patch includes the changes to add qemu as a submodule to
kvmfornfv repo and make use of the updated latest qemu for the
execution of all testcase
Change-Id: I1280af507a857675c7f81d30c95255635667bdd7
Signed-off-by:RajithaY<rajithax.yerrumsetty@intel.com>
Diffstat (limited to 'qemu/roms/SLOF/board-qemu/slof/tree.fs')
-rw-r--r-- | qemu/roms/SLOF/board-qemu/slof/tree.fs | 195 |
1 files changed, 0 insertions, 195 deletions
diff --git a/qemu/roms/SLOF/board-qemu/slof/tree.fs b/qemu/roms/SLOF/board-qemu/slof/tree.fs deleted file mode 100644 index 78dafab71..000000000 --- a/qemu/roms/SLOF/board-qemu/slof/tree.fs +++ /dev/null @@ -1,195 +0,0 @@ -\ ***************************************************************************** -\ * Copyright (c) 2004, 2011 IBM Corporation -\ * All rights reserved. -\ * This program and the accompanying materials -\ * are made available under the terms of the BSD License -\ * which accompanies this distribution, and is available at -\ * http://www.opensource.org/licenses/bsd-license.php -\ * -\ * Contributors: -\ * IBM Corporation - initial implementation -\ ****************************************************************************/ - -: strequal ( str1 len1 str2 len2 -- flag ) - rot dup rot = IF comp 0= ELSE 2drop drop 0 THEN ; - -400 cp - -\ The root of the device tree and some of its kids. -" /" find-device - -\ The following properties have been provided by the FDT from QEMU already, -\ so we do not have to create them on our own: - -\ " QEMU" encode-string s" model" property -\ 2 encode-int s" #address-cells" property -\ 2 encode-int s" #size-cells" property -\ s" chrp" device-type - -#include "archsupport.fs" - -480 cp - -\ See 3.6.5, and the PowerPC OF binding document. -new-device -s" mmu" 2dup device-name device-type -0 0 s" translations" property - -: open true ; -: close ; - -finish-device -device-end - -4c0 cp - -\ Fixup timebase frequency from device-tree -: fixup-tbfreq - " /cpus/@0" find-device - " timebase-frequency" get-node get-package-property IF - 2drop - ELSE - decode-int to tb-frequency 2drop - THEN - device-end -; -fixup-tbfreq - -4d0 cp - -include fbuffer.fs - -500 cp - -: populate-vios ( -- ) - \ Populate the /vdevice children with their methods - \ WARNING: Quite a few SLOFisms here like get-node, set-node, ... - - ." Populating /vdevice methods" cr - " /vdevice" find-device get-node child - BEGIN - dup 0 <> - WHILE - dup set-node - dup " compatible" rot get-package-property 0 = IF - drop dup from-cstring - 2dup " hvterm1" strequal IF - " vio-hvterm.fs" included - THEN - 2dup " IBM,v-scsi" strequal IF - " vio-vscsi.fs" included - THEN - 2dup " IBM,l-lan" strequal IF - " vio-veth.fs" included - THEN - 2dup " qemu,spapr-nvram" strequal IF - " rtas-nvram.fs" included - THEN - 2drop - THEN - peer - REPEAT drop - - device-end -; - -\ Now do it -populate-vios - -580 cp - -5a0 cp - -#include "pci-scan.fs" - -: populate-pci-busses ( -- ) - \ Populate the /pci* children with their methods - " /" find-device get-node child - BEGIN - dup 0 <> - WHILE - dup set-node - dup " name" rot get-package-property 0 = IF - drop dup from-cstring - 2dup s" pci" strequal IF - s" pci-phb.fs" included - THEN - 2drop - THEN - peer - REPEAT drop - - device-end -; - -populate-pci-busses - -600 cp - -: check-patch-kernel-sc1 ( -- ) - \ At this point we can try our best to patch the kernel. This function - \ gets called from the "quiesce" call that kernels execute before they - \ take over the system. - \ - \ Here we know that ciregs->r4 contains the return address that gets us - \ back into enter_prom inside the guest kernel. - \ We assume that within a range of +- 16MB of that pointer all sc 1 - \ instructions inside of that kernel reside. - - \ test_ins (instruction that tells us the kernel's endianness; we use the - \ return address back into the kernel here.) - ciregs >r4 @ - \ test_ins + 16MB (end of search range) - dup 1000000 + - \ MAX(test_ins - 16MB, 0) (start of search range) - dup 2000000 < IF 0 ELSE dup 2000000 - THEN - swap - check-and-patch-sc1 -; - -\ Add sc 1 patching -' check-patch-kernel-sc1 add-quiesce-xt - -\ Add rtas cleanup last -' rtas-quiesce add-quiesce-xt - -640 cp - -690 cp - -6a0 cp - -6a8 cp - -6b0 cp - -6b8 cp - -6c0 cp - -s" /cpus/@0" open-dev encode-int s" cpu" set-chosen -s" /memory@0" open-dev encode-int s" memory" set-chosen - -6e0 cp - -700 cp - -\ See 3.5. -s" /openprom" find-device - s" SLOF," slof-build-id here swap rmove here slof-build-id nip $cat encode-string s" model" property - 0 0 s" relative-addressing" property -device-end - -s" /aliases" find-device - : open true ; - : close ; -device-end - -s" /mmu" open-dev encode-int s" mmu" set-chosen - -#include "available.fs" - -\ Setup terminal IO - -#include <term-io.fs> - |