mirror of
https://github.com/yuzu-emu/unicorn.git
synced 2025-01-11 11:05:40 +00:00
eeef227560
Range represents a range as follows. Member @start is the inclusive lower bound, member @end is the exclusive upper bound. Zero @end is special: if @start is also zero, the range is empty, else @end is to be interpreted as 2^64. No other empty ranges may occur. The range [0,2^64-1] cannot be represented. If you try to create it with range_set_bounds1(), you get the empty range instead. If you try to create it with range_set_bounds() or range_extend(), assertions fail. Before range_set_bounds() existed, the open-coded creation usually got you the empty range instead. Open deathtrap. Moreover, the code dealing with the janus-faced @end is too clever by half. Dumb this down to a more pedestrian representation: members @lob and @upb are inclusive lower and upper bounds. The empty range is encoded as @lob = 1, @upb = 0. Backports commit 6dd726a2bf1b800289d90a84d5fcb5ce7b78a8e1 from qemu |
||
---|---|---|
.. | ||
crypto | ||
exec | ||
fpu | ||
hw | ||
qapi | ||
qemu | ||
qom | ||
sysemu | ||
config.h | ||
elf.h | ||
glib_compat.h | ||
qemu-common.h |