| \ ***************************************************************************** |
| \ * Copyright (c) 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 |
| \ ****************************************************************************/ |
| |
| \ ." Populating " pwd cr |
| |
| s" network" device-type |
| |
| INSTANCE VARIABLE obp-tftp-package |
| |
| /vd-len BUFFER: virtiodev |
| virtiodev virtio-setup-vd |
| |
| : open ( -- okay? ) |
| open IF |
| \ my-unit 1 rtas-set-tce-bypass |
| my-args s" obp-tftp" $open-package obp-tftp-package ! |
| true |
| ELSE |
| false |
| THEN |
| ; |
| |
| : close ( -- ) |
| s" close" obp-tftp-package @ $call-method |
| \ my-unit 0 rtas-set-tce-bypass |
| close |
| ; |
| |
| : load ( addr -- len ) |
| s" load" obp-tftp-package @ $call-method |
| ; |
| |
| : ping ( -- ) |
| s" ping" obp-tftp-package @ $call-method |
| ; |
| |
| \ Set up MAC address from config virtqueue |
| 6 BUFFER: local-mac |
| : setup-mac ( -- ) |
| 6 0 DO |
| virtiodev i 1 virtio-get-config |
| local-mac i + c! |
| LOOP |
| local-mac 6 encode-bytes s" local-mac-address" property |
| ; |
| setup-mac |
| |
| : setup-alias ( -- ) |
| s" net" find-alias 0= IF |
| s" net" get-node node>path set-alias |
| ELSE |
| drop |
| THEN |
| ; |
| setup-alias |