On Thu, Feb 14, 2013 at 07:12:05PM +0900, HATAYAMA Daisuke wrote: > Some parts of old memory need to be copied in buffers on 2nd kernel to > be remapped to user-space. To distinguish objects in the buffer on 2nd > kernel and the ones on old memory, enum vmcore_type is introduced: the > object in the buffer on 2nd kernel has VMCORE_2ND_KERNEL type, and the > one on old memory has VMCORE_OLD_MEMORY type. > > Signed-off-by: HATAYAMA Daisuke <d.hatayama at jp.fujitsu.com> > --- > > include/linux/proc_fs.h | 11 ++++++++++- > 1 files changed, 10 insertions(+), 1 deletions(-) > > diff --git a/include/linux/proc_fs.h b/include/linux/proc_fs.h > index 32676b3..4b153ed 100644 > --- a/include/linux/proc_fs.h > +++ b/include/linux/proc_fs.h > @@ -97,11 +97,20 @@ struct kcore_list { > int type; > }; > > +enum vmcore_type { > + VMCORE_OLD_MEMORY, > + VMCORE_2ND_KERNEL, This VMCORE_2ND_KERNEL tag looks bad. How about introducing a "unsigned int flag" element in "struct vmcore" and set the flag MEM_TYPE_OLDMEM for any contents which come from oldmem. If MEM_TYPE_OLDMEM is not set, it is assumed that contents are to be fetched from current kernel using pointer vmcore->buf. BTW, which elements you need to copy from first kernel? > +}; > + > struct vmcore { > struct list_head list; > - unsigned long long paddr; > + union { > + unsigned long long paddr; > + char *buf; > + }; > unsigned long long size; > loff_t offset; > + enum vmcore_type type; > }; > Thanks Vivek > #ifdef CONFIG_PROC_FS