]>
Commit | Line | Data |
---|---|---|
ee6847d1 GH |
1 | #include "qdev.h" |
2 | #include "qdev-addr.h" | |
3 | #include "targphys.h" | |
4 | ||
5 | /* --- target physical address --- */ | |
6 | ||
7 | static int parse_taddr(DeviceState *dev, Property *prop, const char *str) | |
8 | { | |
c227f099 | 9 | target_phys_addr_t *ptr = qdev_get_prop_ptr(dev, prop); |
ee6847d1 GH |
10 | |
11 | *ptr = strtoull(str, NULL, 16); | |
12 | return 0; | |
13 | } | |
14 | ||
15 | static int print_taddr(DeviceState *dev, Property *prop, char *dest, size_t len) | |
16 | { | |
c227f099 | 17 | target_phys_addr_t *ptr = qdev_get_prop_ptr(dev, prop); |
ee6847d1 GH |
18 | return snprintf(dest, len, "0x" TARGET_FMT_plx, *ptr); |
19 | } | |
20 | ||
21 | PropertyInfo qdev_prop_taddr = { | |
22 | .name = "taddr", | |
23 | .type = PROP_TYPE_TADDR, | |
c227f099 | 24 | .size = sizeof(target_phys_addr_t), |
ee6847d1 GH |
25 | .parse = parse_taddr, |
26 | .print = print_taddr, | |
27 | }; | |
28 | ||
c227f099 | 29 | void qdev_prop_set_taddr(DeviceState *dev, const char *name, target_phys_addr_t value) |
ee6847d1 GH |
30 | { |
31 | qdev_prop_set(dev, name, &value, PROP_TYPE_TADDR); | |
32 | } |