qemu/include
Emilio G. Cota 1e05197f24 translate-all: iterate over TBs in a page with PAGE_FOR_EACH_TB
This commit does several things, but to avoid churn I merged them all
into the same commit. To wit:

- Use uintptr_t instead of TranslationBlock * for the list of TBs in a page.
  Just like we did in (c37e6d7e "tcg: Use uintptr_t type for
  jmp_list_{next|first} fields of TB"), the rationale is the same: these
  are tagged pointers, not pointers. So use a more appropriate type.

- Only check the least significant bit of the tagged pointers. Masking
  with 3/~3 is unnecessary and confusing.

- Introduce the TB_FOR_EACH_TAGGED macro, and use it to define
  PAGE_FOR_EACH_TB, which improves readability. Note that
  TB_FOR_EACH_TAGGED will gain another user in a subsequent patch.

- Update tb_page_remove to use PAGE_FOR_EACH_TB. In case there
  is a bug and we attempt to remove a TB that is not in the list, instead
  of segfaulting (since the list is NULL-terminated) we will reach
  g_assert_not_reached().

Reviewed-by: Richard Henderson <richard.henderson@linaro.org>
Signed-off-by: Emilio G. Cota <cota@braap.org>
Signed-off-by: Richard Henderson <richard.henderson@linaro.org>
2018-06-15 07:42:55 -10:00
..
block block: Factor out qobject_input_visitor_new_flat_confused() 2018-06-15 14:49:44 +02:00
chardev
crypto
disas
exec translate-all: iterate over TBs in a page with PAGE_FOR_EACH_TB 2018-06-15 07:42:55 -10:00
fpu fpu/softfloat: Specialize on snan_bit_is_one 2018-05-17 15:27:15 -07:00
hw Block layer patches: 2018-06-15 16:30:27 +01:00
io
libdecnumber
migration acpi, vhost, misc: fixes, features 2018-06-04 10:15:16 +01:00
monitor
net net: Remove the deprecated "vlan" parameter 2018-05-14 15:47:14 +08:00
qapi block: Add block-specific QDict header 2018-06-15 14:49:44 +02:00
qemu qht: return existing entry when qht_insert fails 2018-06-15 07:42:55 -10:00
qom exec.c: Handle IOMMUs in address_space_translate_for_iotlb() 2018-06-15 15:23:34 +01:00
scsi iscsi: Implement copy offloading 2018-06-01 14:41:48 +01:00
standard-headers Update Linux headers to 4.17-rc6 2018-06-01 15:14:31 +02:00
sysemu block: Remove deprecated -drive option serial 2018-06-15 14:49:44 +02:00
ui ui: darwin: gtk: Add missing input keymap 2018-06-14 09:52:23 +02:00
elf.h
glib-compat.h
qemu-common.h qemu-options: Bail out on unsupported options instead of silently ignoring them 2018-05-09 00:13:39 +02:00
qemu-io.h qemu-io: Let command functions return error code 2018-06-11 16:18:45 +02:00
trace-tcg.h