From: Wei Huang <w1.huang@samsung.com>
To: Andrew Cooper <andrew.cooper3@citrix.com>, xen-devel@lists.xen.org
Cc: keir@xen.org, ian.campbell@citrix.com,
stefano.stabellini@eu.citrix.com, tim@xen.org,
julien.grall@linaro.org, ian.jackson@eu.citrix.com,
jaeyong.yoo@samsung.com, jbeulich@suse.com,
yjhyun.yoo@samsung.com
Subject: Re: [RFC v3 1/6] xen/arm: Add basic save/restore support for ARM
Date: Thu, 08 May 2014 17:20:25 -0500 [thread overview]
Message-ID: <536C0329.50901@samsung.com> (raw)
In-Reply-To: <536C010A.8010509@citrix.com>
On 05/08/2014 05:11 PM, Andrew Cooper wrote:
> On 08/05/2014 22:18, Wei Huang wrote:
>
>
>> diff --git a/xen/include/asm-arm/hvm/support.h b/xen/include/asm-arm/hvm/support.h
>> new file mode 100644
>> index 0000000..fa5fe75
>> --- /dev/null
>> +++ b/xen/include/asm-arm/hvm/support.h
>> @@ -0,0 +1,29 @@
>> +/*
>> + * HVM support routines
>> + *
>> + * Copyright (c) 2014, Samsung Electronics.
>> + *
>> + * This program is free software; you can redistribute it and/or modify it
>> + * under the terms and conditions of the GNU General Public License,
>> + * version 2, as published by the Free Software Foundation.
>> + *
>> + * This program is distributed in the hope it will be useful, but WITHOUT
>> + * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
>> + * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for
>> + * more details.
>> + *
>> + * You should have received a copy of the GNU General Public License along with
>> + * this program; if not, write to the Free Software Foundation, Inc., 59 Temple
>> + * Place - Suite 330, Boston, MA 02111-1307 USA.
>> + */
>> +
>> +#ifndef __ASM_ARM_HVM_SUPPORT_H__
>> +#define __ASM_ARM_HVM_SUPPORT_H__
>> +
>> +#include <xen/types.h>
>> +#include <public/hvm/ioreq.h>
>> +#include <xen/sched.h>
>> +#include <xen/hvm/save.h>
>> +#include <asm/processor.h>
>> +
>> +#endif /* __ASM_ARM_HVM_SUPPORT_H__ */
>
> This header file isn't touched by any subsequent patches, and just
> having it as a list of includes is overkill. Can it be dropped? 5
> extra includes in a few .c files is hardly breaking the bank.
Last time I tried it quickly, the compilation broke. Will try again.
>
>> diff --git a/xen/include/public/arch-arm/hvm/save.h b/xen/include/public/arch-arm/hvm/save.h
>> index 75b8e65..8312e7b 100644
>> --- a/xen/include/public/arch-arm/hvm/save.h
>> +++ b/xen/include/public/arch-arm/hvm/save.h
>> @@ -3,6 +3,7 @@
>> * be saved along with the domain's memory and device-model state.
>> *
>> * Copyright (c) 2012 Citrix Systems Ltd.
>> + * Copyright (c) 2014 Samsung Electronics.
>> *
>> * Permission is hereby granted, free of charge, to any person obtaining a copy
>> * of this software and associated documentation files (the "Software"), to
>> @@ -26,6 +27,24 @@
>> #ifndef __XEN_PUBLIC_HVM_SAVE_ARM_H__
>> #define __XEN_PUBLIC_HVM_SAVE_ARM_H__
>>
>> +#define HVM_ARM_FILE_MAGIC 0x92385520
>> +#define HVM_ARM_FILE_VERSION 0x00000001
>> +
>> +/* Note: For compilation purpose hvm_save_header name is the same as x86,
>> + * but layout is different. */
>> +struct hvm_save_header
>> +{
>> + uint32_t magic; /* Must be HVM_ARM_FILE_MAGIC */
>> + uint32_t version; /* File format version */
>> + uint32_t cpuinfo; /* Record MIDR_EL1 info of saving machine */
>> +};
>> +DECLARE_HVM_SAVE_TYPE(HEADER, 1, struct hvm_save_header);
>> +
>> +/*
>> + * Largest type-code in use
>> + */
>> +#define HVM_SAVE_CODE_MAX 1
>> +
>> #endif
>>
>> /*
>
> Hmm - it is quite poor to have this magically named "hvm_save_header".
>
> If you were to redefine arch_hvm{save,load} as:
>
> int arch_hvm_save(struct domain *d, struct hvm_domain_context_t *h);
> int arch_hvm_load(struct domain *d, struct hvm_domain_context_t *h);
>
> and pushed the hvm_save_entry(HEADER, 0, h, &hdr) into arch_hvm_save(),
> you can remove all trace of "struct hvm_save_header" from common code.
> This then removes any requirements to have an identically named struct.
>
> It is probably worth having this all as a separate patch which just
> cleans up the x86 and common code before introducing the ARM side of things.
Reasonable. I will fix next revision.
>
> The rest of the patch is however looking fine.
>
> ~Andrew
>
> _______________________________________________
> Xen-devel mailing list
> Xen-devel@lists.xen.org
> http://lists.xen.org/xen-devel
>
next prev parent reply other threads:[~2014-05-08 22:20 UTC|newest]
Thread overview: 67+ messages / expand[flat|nested] mbox.gz Atom feed top
2014-05-08 21:18 [RFC v3 0/6] xen/arm: ARM save/restore/migration support Wei Huang
2014-05-08 21:18 ` [RFC v3 1/6] xen/arm: Add basic save/restore support for ARM Wei Huang
2014-05-08 22:11 ` Andrew Cooper
2014-05-08 22:20 ` Wei Huang [this message]
2014-05-09 8:56 ` Julien Grall
2014-05-14 10:27 ` Ian Campbell
2014-05-14 10:25 ` Ian Campbell
2014-05-14 10:46 ` Andrew Cooper
2014-05-14 13:22 ` Ian Campbell
2014-05-09 9:06 ` Julien Grall
2014-05-09 9:42 ` Jan Beulich
2014-05-14 10:37 ` Ian Campbell
2014-05-14 18:54 ` Wei Huang
2014-05-08 21:18 ` [RFC v3 2/6] xen/arm: Add save/restore support for ARM GIC V2 Wei Huang
2014-05-08 22:47 ` Andrew Cooper
2014-05-09 14:12 ` Wei Huang
2014-05-09 14:24 ` Ian Campbell
2014-05-11 16:15 ` Julien Grall
2014-05-13 14:53 ` Wei Huang
2014-05-09 9:17 ` Julien Grall
2014-05-14 11:07 ` Ian Campbell
2014-05-14 12:05 ` Julien Grall
2014-05-14 12:23 ` Tim Deegan
2014-05-14 13:24 ` Ian Campbell
2014-05-15 17:15 ` Julien Grall
2014-05-16 7:36 ` Ian Campbell
2014-05-08 21:18 ` [RFC v3 3/6] xen/arm: Add save/restore support for ARM arch timer Wei Huang
2014-05-08 23:02 ` Andrew Cooper
2014-05-11 9:01 ` Julien Grall
2014-05-11 8:58 ` Julien Grall
2014-05-12 8:35 ` Ian Campbell
2014-05-12 11:42 ` Julien Grall
2014-05-14 11:14 ` Ian Campbell
2014-05-14 12:13 ` Julien Grall
2014-05-14 13:23 ` Ian Campbell
2014-05-14 19:04 ` Wei Huang
2014-05-08 21:18 ` [RFC v3 4/6] xen/arm: Add save/restore support for guest core registers Wei Huang
2014-05-08 23:10 ` Andrew Cooper
2014-05-09 16:35 ` Wei Huang
2014-05-09 16:52 ` Ian Campbell
2014-05-11 9:06 ` Julien Grall
2014-05-14 11:16 ` Ian Campbell
2014-05-14 12:23 ` Julien Grall
2014-05-14 13:25 ` Ian Campbell
2014-05-14 13:31 ` Julien Grall
2014-05-14 11:37 ` Ian Campbell
2014-05-08 21:18 ` [RFC v3 5/6] xen/arm: Add log_dirty support for ARM Wei Huang
2014-05-08 23:46 ` Andrew Cooper
2014-05-14 11:51 ` Ian Campbell
2014-05-11 15:28 ` Julien Grall
2014-05-12 14:00 ` Wei Huang
2014-05-12 14:11 ` Julien Grall
2014-05-14 12:04 ` Ian Campbell
2014-05-14 11:57 ` Ian Campbell
2014-05-14 12:20 ` Julien Grall
2014-05-14 13:24 ` Ian Campbell
2014-05-14 13:18 ` Ian Campbell
2014-05-16 10:59 ` Julien Grall
2014-05-08 21:18 ` [RFC v3 6/6] xen/arm: Implement toolstack for xl restore/save/migration Wei Huang
2014-05-14 13:20 ` Ian Campbell
2014-05-14 13:24 ` Andrew Cooper
2014-05-11 9:23 ` [RFC v3 0/6] xen/arm: ARM save/restore/migration support Julien Grall
2014-05-12 14:37 ` Wei Huang
2014-05-13 14:41 ` Julien Grall
2014-05-12 14:17 ` Julien Grall
2014-05-12 14:52 ` Wei Huang
2014-05-12 15:01 ` Ian Campbell
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=536C0329.50901@samsung.com \
--to=w1.huang@samsung.com \
--cc=andrew.cooper3@citrix.com \
--cc=ian.campbell@citrix.com \
--cc=ian.jackson@eu.citrix.com \
--cc=jaeyong.yoo@samsung.com \
--cc=jbeulich@suse.com \
--cc=julien.grall@linaro.org \
--cc=keir@xen.org \
--cc=stefano.stabellini@eu.citrix.com \
--cc=tim@xen.org \
--cc=xen-devel@lists.xen.org \
--cc=yjhyun.yoo@samsung.com \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).