|
|
1.1 root 1: \ *****************************************************************************
2: \ * Copyright (c) 2011 IBM Corporation
3: \ * All rights reserved.
4: \ * This program and the accompanying materials
5: \ * are made available under the terms of the BSD License
6: \ * which accompanies this distribution, and is available at
7: \ * http://www.opensource.org/licenses/bsd-license.php
8: \ *
9: \ * Contributors:
10: \ * IBM Corporation - initial implementation
11: \ ****************************************************************************/
12:
13: \ This struct must match "struct virtio_device" in virtio.h!
14: STRUCT
15: /n FIELD vd>base
16: /l FIELD vd>type
17: CONSTANT /vd-len
18:
19:
20: \ Initialize virtiodev structure for the current node
21: : virtio-setup-vd ( vdstruct -- )
22: >r
23: \ Does it have a "class-code" property? If yes, assume we're a PCI device
24: s" class-code" get-node get-property 0= IF
25: \ Set up for PCI device interface
26: 2drop
27: s" 10 config-l@ translate-my-address 3 not AND" evaluate
28: ( io-base ) r@ vd>base !
29: 0 r@ vd>type l!
30: ELSE
31: ." unsupported virtio interface!" cr
32: 1 r@ vd>type l!
33: THEN
34: r> drop
35: ;
This archive runs on limited infrastructure. Preserving old code on modern bandwidth. Automated agents are requested to crawl responsibly.