+2021-03-24 Luis Machado <luis.machado@linaro.org>
+
+ * linux-tdep.c (struct smaps_vmflags) <memory_tagging>: New flag
+ bit.
+ (struct smaps_data): New struct.
+ (decode_vmflags): Handle the 'mt' flag.
+ (parse_smaps_data): New function, refactored from
+ linux_find_memory_regions_full.
+ (linux_address_in_memtag_page): New function.
+ (linux_find_memory_regions_full): Refactor into parse_smaps_data.
+ * linux-tdep.h (linux_address_in_memtag_page): New prototype.
+
+2021-03-24 Luis Machado <luis.machado@linaro.org>
+
+ * linux-tdep.c (linux_find_memory_regions_full): Use std::string
+ instead of char arrays.
+
+2021-03-24 Luis Machado <luis.machado@linaro.org>
+
+ * Makefile.in (ALL_64_TARGET_OBS): Add arch/aarch64-mte-linux.o.
+ (HFILES_NO_SRCDIR): Add arch/aarch64-mte-linux.h and
+ nat/aarch64-mte-linux-ptrace.h.
+ * aarch64-linux-nat.c: Include nat/aarch64-mte-linux-ptrace.h.
+ (aarch64_linux_nat_target) <supports_memory_tagging>: New method
+ override.
+ <fetch_memtags>: New method override.
+ <store_memtags>: New method override.
+ (aarch64_linux_nat_target::supports_memory_tagging): New method.
+ (aarch64_linux_nat_target::fetch_memtags): New method.
+ (aarch64_linux_nat_target::store_memtags): New method.
+ * arch/aarch64-mte-linux.c: New file.
+ * arch/aarch64-mte-linux.h: Include gdbsupport/common-defs.h.
+ (AARCH64_MTE_GRANULE_SIZE): Define.
+ (aarch64_memtag_type): New enum.
+ (aarch64_mte_get_tag_granules): New prototype.
+ * configure.nat (NATDEPFILES): Add nat/aarch64-mte-linux-ptrace.o.
+ * configure.tgt (aarch64*-*-linux*): Add arch/aarch64-mte-linux.o.
+ * nat/aarch64-mte-linux-ptrace.c: New file.
+ * nat/aarch64-mte-linux-ptrace.h: New file.
+
+2021-03-24 Luis Machado <luis.machado@linaro.org>
+
+ * Makefile.in (HFILES_NO_SRCDIR): Add nat/aarch64-mte-linux-ptrace.h.
+ * nat/aarch64-mte-linux-ptrace.h: New file.
+
+2021-03-24 Luis Machado <luis.machado@linaro.org>
+
+ * aarch64-linux-nat.c (fetch_mteregs_from_thread): New function.
+ (store_mteregs_to_thread): New function.
+ (aarch64_linux_nat_target::fetch_registers): Update to call
+ fetch_mteregs_from_thread.
+ (aarch64_linux_nat_target::store_registers): Update to call
+ store_mteregs_to_thread.
+ * aarch64-tdep.c (aarch64_mte_register_names): New struct.
+ (aarch64_cannot_store_register): Handle MTE registers.
+ (aarch64_gdbarch_init): Initialize and setup MTE registers.
+ * aarch64-tdep.h (gdbarch_tdep) <mte_reg_base>: New field.
+ <has_mte>: New method.
+ * arch/aarch64-linux.h (AARCH64_LINUX_SIZEOF_MTE): Define.
+
+2021-03-24 Luis Machado <luis.machado@linaro.org>
+
+ * aarch64-linux-nat.c
+ (aarch64_linux_nat_target::read_description): Take MTE flag into
+ account.
+ Slight refactor to hwcap flag checking.
+ * aarch64-linux-tdep.c
+ (aarch64_linux_core_read_description): Likewise.
+ * aarch64-tdep.c (tdesc_aarch64_list): Add one more dimension for
+ MTE.
+ (aarch64_read_description): Add mte_p parameter and update to use it.
+ Update the documentation.
+ (aarch64_gdbarch_init): Update call to aarch64_read_description.
+ * aarch64-tdep.h (aarch64_read_description): Add mte_p parameter.
+ * arch/aarch64.c: Include ../features/aarch64-mte.c.
+ (aarch64_create_target_description): Add mte_p parameter and update
+ the code to use it.
+ * arch/aarch64.h (aarch64_create_target_description): Add mte_p
+ parameter.
+ * features/Makefile (FEATURE_XMLFILES): Add aarch64-mte.xml.
+ * features/aarch64-mte.c: New file, generated.
+ * features/aarch64-mte.xml: New file.
+
+2021-03-24 Luis Machado <luis.machado@linaro.org>
+
+ * Makefile.in (HFILES_NO_SRCDIR): Add arch/aarch64-mte-linux.h.
+ * aarch64-linux-nat.c: Include arch/aarch64-mte-linux.h.
+ * aarch64-linux-tdep.c: Likewise
+ * arch/aarch64-mte-linux.h: New file.
+
+2021-03-24 Luis Machado <luis.machado@linaro.org>
+
+ * remote: Include gdbsupport/selftest.h.
+ (test_memory_tagging_functions): New function.
+ (_initialize_remote): Register test_memory_tagging_functions.
+
+2021-03-24 Luis Machado <luis.machado@linaro.org>
+
+ * remote.c (PACKET_memory_tagging_feature): New enum.
+ (remote_memory_tagging_p): New function.
+ (remote_protocol_features): New "memory-tagging" entry.
+ (remote_target::remote_query_supported): Handle memory tagging
+ support.
+ (remote_target::supports_memory_tagging): Implement.
+ (create_fetch_memtags_request, parse_fetch_memtags_reply)
+ (create_store_memtags_request): New functions.
+ (remote_target::fetch_memtags): Implement.
+ (remote_target::store_memtags): Implement.
+ (_initialize_remote): Add new "memory-tagging-feature"
+ config command.
+
2021-03-24 Luis Machado <luis.machado@linaro.org>
* arch-utils.c (default_memtag_to_string, default_tagged_address_p)