RE: [PATCHv1 01/12] unicore32 core architecture: build infrastructure

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 




> -----Original Message-----
> From: Sam Ravnborg [mailto:sam@xxxxxxxxxxxx]
> Sent: Saturday, January 08, 2011 3:21 PM
> To: Guan Xuetao
> Cc: 'Paul Mundt'; linux-arch@xxxxxxxxxxxxxxx; linux-kernel@xxxxxxxxxxxxxxx
> Subject: Re: [PATCHv1 01/12] unicore32 core architecture: build infrastructure
> 
> Hi Guan.
> 
> A few nits.
> 
> > +# Explicitly specifiy 32-bit UniCore ISA:
> > +KBUILD_CFLAGS	+=$(call cc-option,-municore32)
> 
> If gcc does not support -municore32 then I assume it
> is a wrong gcc version used.
> So just add it unconditionally.
> 
> The cc-option macro is used to add options to gcc iff gcc
> supports this option. So each time you use cc-option we
> actually run gcc to determine if the opton is supported.
Corrected.

> 
> Also as a general rule add a space after the equal sign:
> > +KBUILD_CFLAGS	+= -municore32
>                           ^
Ok.

> > +
> > +#Default value
> > +head-y		:= arch/unicore32/kernel/head.o arch/unicore32/kernel/init_task.o
> Break longer lines in two like this:
> > +head-y		:= arch/unicore32/kernel/head.o
> > +head-y		+= arch/unicore32/kernel/init_task.o
> 
> Note: I see lots of Makefile where longer lines are continued on
> the next line using a '\'. But like in regular C code to use an incremental
> assignment looks just better / is more clear.
> 
Ok.
> > +textofs-y	:= 0x00408000
> > +
> > +# The byte offset of the kernel image in RAM from the start of RAM.
> > +TEXT_OFFSET := $(textofs-y)
> 
> If you are going to have different TEXT_OFFSET's then I suggest to move
> this to KConfig as an "hex "Text offset" config option.
> You can set default values dependign on BSP etc.
There is no different TEXT_OFFSET.

> 
> Also defiing stuff here just to export it for use in boot/
> has always looked like a strange concept - but many archs do so today.
> You do not export TEXT_OFFSET but I guess this is a bug?
I need TEXT_OFFSET for kernel/ and boot/, so export it.
What's the better method?
> 
> > +
> > +export	TEXT_OFFSET GZFLAGS
> This variable is never used.
GZFLAGS is removed.
> 
> 
> > +
> > +core-y				+= arch/unicore32/kernel/ arch/unicore32/mm/
> > +core-$(CONFIG_UNICORE_FPU_F64)	+= arch/unicore32/uc-f64/
> > +
> > +drivers-$(CONFIG_ARCH_PUV3)	+= drivers/staging/puv3/
> > +
> > +libs-y				+= arch/unicore32/lib/
> > +# include libc.a in libs-y for string functions, like memcpy and so on.
> > +libs-y				+= $(shell $(CC) $(KBUILD_CFLAGS) -print-file-name=libc.a)
> > +libs-y				+= $(shell $(CC) $(KBUILD_CFLAGS) -print-file-name=libgcc.a)
> > +
> 
> The other three archs that uses libgcc use:
> 
>     $(shell $(CC) $(KBUILD_CFLAGS) -print-libgcc-file-name)
> 
> So when I read the above I am confused why it looks different than the others.
> For libc I guess you do nto have that option and what you do is fine there.
It's the same with -print-libgcc-file-name and -print-file-name=libgcc.a.
And we need libc.a for string like functions.
> 
> > +
> > +CLEAN_FILES += $(ASM_GENERIC_HEADERS)
> > +
> > +# We use MRPROPER_FILES and CLEAN_FILES now
> 
> Stale comment
Removed.
> 
> 
> > +  echo  '                  Install using (your) ~/bin/$(INSTALLKERNEL) or'
> > +  echo  '                  (distribution) /sbin/$(INSTALLKERNEL) or'
> > +  echo  '                  install to $$(INSTALL_PATH) and run lilo'
> 
> I do not think the three lines above is correct for unicore32.
> Looks like they are left from a copy from x86.
Removed.
> 
> 	Sam
Thanks Sam.

Guan Xuetao

--
To unsubscribe from this list: send the line "unsubscribe linux-arch" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at  http://vger.kernel.org/majordomo-info.html


[Index of Archives]     [Linux Kernel]     [Kernel Newbies]     [x86 Platform Driver]     [Netdev]     [Linux Wireless]     [Netfilter]     [Bugtraq]     [Linux Filesystems]     [Yosemite Discussion]     [MIPS Linux]     [ARM Linux]     [Linux Security]     [Linux RAID]     [Samba]     [Device Mapper]

  Powered by Linux