/* This is the new way of passing data to the kernel at boot time. Rather than passing a fixed inflexible structure to the kernel, we pass a list of variable-sized tags to the kernel. The first tag must be a ATAG_CORE tag for the list to be recognised (to distinguish the tagged list from a param_struct). The list is terminated with a zero-length tag (this tag is not parsed in any way).  */
static int __init parse_tag_core(const struct tag *tag)
/* This is the new way of passing data to the kernel at boot time. Rather than passing a fixed inflexible structure to the kernel, we pass a list of variable-sized tags to the kernel. The first tag must be a ATAG_CORE tag for the list to be recognised (to distinguish the tagged list from a param_struct). The list is terminated with a zero-length tag (this tag is not parsed in any way).  */
static int __init parse_tag_core(const struct tag *tag)
{
	if (tag->hdr.size > 2) {
		if ((tag->u.core.flags & 1) == 0)
			root_mountflags &= ~MS_RDONLY;
		ROOT_DEV = old_decode_dev(tag->u.core.rootdev);
	}
	return 0;
}