Hi Jan,
On 27/08/2020 11:33, Jan Kiszka wrote:
On 25.08.20 16:50, Andrej Utz wrote:
Theses patches mostly improve non-functional aspects of the Jailhouse
configuration parser. Logic for unpacking binary data is consolidated
into CStruct class, which all parser classes are inherited from.
To improve input flexibility, data slices are replaced with I/O streams
(see Pythons 'io' package for how to use them).
Finally, a CPU set check is added, which will list conflicting CPUs
between cells and also usage of non-existing ones in the root-cell.
Changes v2->v3:
- fix config_parser usage in jailhouse-cell-linux
- fix output style in "CPU checks" commit
Changes v1->v2:
- reference class variables via class object or class name
- drop implicit PEP8 formatting
- dropped unused patches
Andrej Utz (7):
pyjailhouse: config_parser: store binary format specification in
struct.Struct
pyjailhouse: config_parser: move parsing into class methods
pyjailhouse: config_parser: consolidate binary parsing into CStruct
class
pyjailhouse: config_parser: use I/O stream instead slice of bytes
pyjailhouse: config_parser: parse pin_bitman in Irqchip as list
pyjailhouse: config_parser: consolidate header parsing
tools: config-check: add CPU overlap and boundary check
pyjailhouse/config_parser.py | 296 ++++++++++++++++++++++-------------
tools/jailhouse-cell-linux | 2 +-
tools/jailhouse-config-check | 33 +++-
3 files changed, 215 insertions(+), 116 deletions(-)
--
2.28.0
Still doesn't work - did you test jailhouse cell linux?
I did and it works... with Python 3.
Traceback (most recent call last):
File "jailhouse/tools/jailhouse-cell-linux", line 723, in <module>
config = config_parser.parse(args.config, config_parser.CellConfig)
File "jailhouse/tools/../pyjailhouse/config_parser.py", line 287, in parse
return config_expect.parse(stream)
File "jailhouse/tools/../pyjailhouse/config_parser.py", line 220, in parse
cpu_set_num = int(self.cpu_set / cpu_fmt.size)
TypeError: unsupported operand type(s) for /: 'set' and 'int'
When using Python 2, the slots of the child classes are not updated with
cell config data. I'll search for a workaround.
By the way: how long will Jailhouse require Python 2 compatibility?
Thanks,
Andrej Utz
Jan
--
You received this message because you are subscribed to the Google Groups
"Jailhouse" group.
To unsubscribe from this group and stop receiving emails from it, send an email
to jailhouse-dev+unsubscr...@googlegroups.com.
To view this discussion on the web visit
https://groups.google.com/d/msgid/jailhouse-dev/fe12ea0a-d279-1532-099b-e23f0ec822dc%40st.oth-regensburg.de.