public inbox for ecos-discuss@sourceware.org
 help / color / mirror / Atom feed
* RE: [ECOS] MIPS 5KC Target
@ 2004-08-24 17:24 Devaughn, Hans
  0 siblings, 0 replies; 4+ messages in thread
From: Devaughn, Hans @ 2004-08-24 17:24 UTC (permalink / raw)
  To: 'Nick Garnett'; +Cc: ecos-discuss

Nick,

I tried to duplicate your build for both the Atlas and Malta MIPS32 4KCs and
they failed with an error in platform.s. I had just discovered that building
on a NEW directory doesn't cause this error. Using NEW directories I have
successfully built the Atlas and Malta MIPS32 and the Malta MIPS64.
Obviously, as you indicated, there must be residue left on the old directory
that the configtool doesn't clean up.

Thanks
Hans

-----Original Message-----
From: nickg@xl5.calivar.com [mailto:nickg@xl5.calivar.com] On Behalf Of Nick
Garnett
Sent: Tuesday, August 24, 2004 1:17 PM
To: Devaughn, Hans
Cc: ecos-discuss@sources.redhat.com
Subject: Re: [ECOS] MIPS 5KC Target



Please CC replies to the ecos-discuss list. Direct messages may be ignored.


"Devaughn, Hans" <hans.devaughn@siemens.com> writes:

> Nick,
> 
> Thanks for your speedy reply. I can build both the Atlas and Malta 4KC 
> images and get them to link. Could you look at the makefile for the 
> 5KC from your build. This is what I have for the cache support
> 
> headers: mlt_headers $(PREFIX)/include/cyg/hal/variant.inc
> $(PREFIX)/include/cyg/hal/var_arch.h 
> $(PREFIX)/include/cyg/hal/var_cache.h
> $(PREFIX)/include/cyg/hal/var_intr.h
> 
> and
> 
> $(PREFIX)/include/cyg/hal/var_cache.h:
> $(REPOSITORY)/$(PACKAGE)/include/var_cache.h
> ifeq ($(HOST),CYGWIN)
> 	@mkdir -p `cygpath -w "$(dir $@)" | sed "s@\\\\\\\\@/@g"` else
> 	@mkdir -p $(dir $@)
> endif
> 	@cp $< $@
> 	@chmod u+w $@
>

There doesn't seem to be anything wrong here.


> It is the $(PREFIX)/include/cyg/hal/var_cache.h header file that kicks 
> the error out. The $(REPOSITORY)/$(PACKAGE)/include/var_cache.h file 
> is the one that supports the MIPS64.

So, let me get this right. Although
$(REPOSITORY)/$(PACKAGE)/include/var_cache.h
points to the correct file, somehow you are getting the mips32 version of
the file instead? That does not make any sense.

What does the $(PACKAGE) variable contain? It should be
"hal/mips/mips64/current".

Are you configuring in a fresh directory? Trying to move an existing
configuration from one target to another sometimes leaves remnants of the
old configuration around.

> 
> I am using John's latest version of configtool (version 2.net, June 
> 23, 2004 which I downloaded from the Ecoscentric web site). I am using 
> the mipsisa-32 gnutools, version 3.2.1, prebuilt. I have not used 
> ecosconfig, but have the John's latest version also.

Try using ecosconfig. The following commands are what I used to test with:

$ mkdir atlas5kc.ram.kernel
$ cd atlas5kc.ram.kernel
$ ecosconfig new atlas_mips64_5kc kernel
$ ecosconfig tree
$ make

-- 
Nick Garnett                    eCos Kernel Architect
http://www.ecoscentric.com/     The eCos and RedBoot experts

-- 
Before posting, please read the FAQ: http://ecos.sourceware.org/fom/ecos
and search the list archive: http://ecos.sourceware.org/ml/ecos-discuss

^ permalink raw reply	[flat|nested] 4+ messages in thread

* Re: [ECOS] MIPS 5KC Target
       [not found] <EA78B62757AF1E4799828249310AC4CA060A44EB@stca206a.bus.sc.rolm.com>
@ 2004-08-24 17:16 ` Nick Garnett
  0 siblings, 0 replies; 4+ messages in thread
From: Nick Garnett @ 2004-08-24 17:16 UTC (permalink / raw)
  To: Devaughn, Hans; +Cc: ecos-discuss


Please CC replies to the ecos-discuss list. Direct messages may be ignored.


"Devaughn, Hans" <hans.devaughn@siemens.com> writes:

> Nick,
> 
> Thanks for your speedy reply. I can build both the Atlas and Malta 4KC
> images and get them to link. Could you look at the makefile for the 5KC from
> your build. This is what I have for the cache support
> 
> headers: mlt_headers $(PREFIX)/include/cyg/hal/variant.inc
> $(PREFIX)/include/cyg/hal/var_arch.h $(PREFIX)/include/cyg/hal/var_cache.h
> $(PREFIX)/include/cyg/hal/var_intr.h
> 
> and 
> 
> $(PREFIX)/include/cyg/hal/var_cache.h:
> $(REPOSITORY)/$(PACKAGE)/include/var_cache.h
> ifeq ($(HOST),CYGWIN)
> 	@mkdir -p `cygpath -w "$(dir $@)" | sed "s@\\\\\\\\@/@g"`
> else
> 	@mkdir -p $(dir $@)
> endif
> 	@cp $< $@
> 	@chmod u+w $@
>

There doesn't seem to be anything wrong here.


> It is the $(PREFIX)/include/cyg/hal/var_cache.h header file that kicks the
> error out. The $(REPOSITORY)/$(PACKAGE)/include/var_cache.h file is the one
> that supports the MIPS64.

So, let me get this right. Although $(REPOSITORY)/$(PACKAGE)/include/var_cache.h
points to the correct file, somehow you are getting the mips32 version
of the file instead? That does not make any sense.

What does the $(PACKAGE) variable contain? It should be
"hal/mips/mips64/current".

Are you configuring in a fresh directory? Trying to move an existing
configuration from one target to another sometimes leaves remnants of
the old configuration around.

> 
> I am using John's latest version of configtool (version 2.net, June 23, 2004
> which I downloaded from the Ecoscentric web site). I am using the mipsisa-32
> gnutools, version 3.2.1, prebuilt. I have not used ecosconfig, but have the
> John's latest version also.

Try using ecosconfig. The following commands are what I used to test with:

$ mkdir atlas5kc.ram.kernel
$ cd atlas5kc.ram.kernel
$ ecosconfig new atlas_mips64_5kc kernel
$ ecosconfig tree
$ make

-- 
Nick Garnett                    eCos Kernel Architect
http://www.ecoscentric.com/     The eCos and RedBoot experts


-- 
Before posting, please read the FAQ: http://ecos.sourceware.org/fom/ecos
and search the list archive: http://ecos.sourceware.org/ml/ecos-discuss

^ permalink raw reply	[flat|nested] 4+ messages in thread

* Re: [ECOS] MIPS 5KC Target
  2004-08-24 14:32 Devaughn, Hans
@ 2004-08-24 16:07 ` Nick Garnett
  0 siblings, 0 replies; 4+ messages in thread
From: Nick Garnett @ 2004-08-24 16:07 UTC (permalink / raw)
  To: Devaughn, Hans; +Cc: 'ecos-discuss@sources.redhat.com'

"Devaughn, Hans" <hans.devaughn@siemens.com> writes:

> I have tried building the library, from config tool, for the Atlas and Malta
> 5KC processors. Both result in the same cache header file error
> 
> mipsisa32-elf-gcc -c  -I/ecos-work/mips_install/include
> -I/eCos/packages/hal/mips/arch/current
> -I/eCos/packages/hal/mips/arch/current/src
> -I/eCos/packages/hal/mips/arch/current/tests -I. -I/ecos-
> /eCos/packages/hal/mips/arch/current/src/ -finline-limit=7000 -mips64 -EL
> -msoft-float -Wall -Wpointer-arith -Wstrict-prototypes -Winline -Wundef  -g
> -O2 -ffunction-sections -fdata-sections  -fno-exceptions   -G0
> -Wp,-MD,src/hal_misc.tmp -o src/hal_mips_arch_hal_misc.o /ecos-
> /eCos/packages/hal/mips/arch/current/src/hal_misc.c
> In file included from
> /ecos-work/mips_install/include/cyg/hal/hal_cache.h:64,
>                  from
> /eCos/packages/hal/mips/arch/current/src/hal_misc.c:65:
> /ecos-work/mips_install/include/cyg/hal/var_cache.h:92:2: #error Unknown
> MIPS32 Variant
> /ecos-work/mips_install/include/cyg/hal/var_cache.h:198:5: warning:
> "HAL_DCACHE_WRITETHRU_MODE" is not defined
> /ecos-work/mips_install/include/cyg/hal/var_cache.h:202:2: #error
> HAL_DCACHE_FLUSH undefined for MIPS32 writeback cache
> /ecos-work/mips_install/include/cyg/hal/var_cache.h:207:5: warning:
> "HAL_DCACHE_WRITETHRU_MODE" is not defined
> /ecos-work/mips_install/include/cyg/hal/var_cache.h:211:2: #error
> HAL_DCACHE_STORE undefined for MIPS32 writeback cache
> make[1]: Leaving directory `/ecos-work/mips_build/hal/mips/arch/current'
> make[1]: *** [src/hal_misc.o.d] Error 1
> 
> The problem is that the generic version of cache header file (on
> cyg/hal/var_cache.h) has a check for the MIPS 4KC and generates a compile
> error (#error). The 5KC cache header file is in the makefile and on
> hal/mips/mips64/current/include/var_cache.h. It would seem that the 5KC
> header should be used instead of the 4KC header.
> 
> Does anybody have a fix for this apparent problem?

I believe that we only ever built RedBoot for the 5kc, since that is
all MIPS wanted at the time. It was used to support GNUPro
development. eCos was never ported since it would have required
sorting out any 64 bit issues.

I have just tried a configure and build of RedBoot for the atlas 5kc
and it seems to create an executable image. I have no idea whether it
would work, however. Trying an eCos build, it fails because the
toolchain is lacking a 64bit libgcc. In both cases the configuration
selects the correct var_cache.h from mips64.

So, I don't see the problem you have, which config tool are you using,
the GUI tool or ecosconfig?

Even if you do fix this problem, there is no guarantee that eCos will
run in 64 bit mode. However, the 5kc is fully compatible with the 4kc
and you can run 32 bit RedBoot and eCos binaries built for the 4kc on
the 5kc with no trouble.


-- 
Nick Garnett                    eCos Kernel Architect
http://www.ecoscentric.com/     The eCos and RedBoot experts


-- 
Before posting, please read the FAQ: http://ecos.sourceware.org/fom/ecos
and search the list archive: http://ecos.sourceware.org/ml/ecos-discuss

^ permalink raw reply	[flat|nested] 4+ messages in thread

* [ECOS] MIPS 5KC Target
@ 2004-08-24 14:32 Devaughn, Hans
  2004-08-24 16:07 ` Nick Garnett
  0 siblings, 1 reply; 4+ messages in thread
From: Devaughn, Hans @ 2004-08-24 14:32 UTC (permalink / raw)
  To: 'ecos-discuss@sources.redhat.com'

I have tried building the library, from config tool, for the Atlas and Malta
5KC processors. Both result in the same cache header file error

mipsisa32-elf-gcc -c  -I/ecos-work/mips_install/include
-I/eCos/packages/hal/mips/arch/current
-I/eCos/packages/hal/mips/arch/current/src
-I/eCos/packages/hal/mips/arch/current/tests -I. -I/ecos-
/eCos/packages/hal/mips/arch/current/src/ -finline-limit=7000 -mips64 -EL
-msoft-float -Wall -Wpointer-arith -Wstrict-prototypes -Winline -Wundef  -g
-O2 -ffunction-sections -fdata-sections  -fno-exceptions   -G0
-Wp,-MD,src/hal_misc.tmp -o src/hal_mips_arch_hal_misc.o /ecos-
/eCos/packages/hal/mips/arch/current/src/hal_misc.c
In file included from
/ecos-work/mips_install/include/cyg/hal/hal_cache.h:64,
                 from
/eCos/packages/hal/mips/arch/current/src/hal_misc.c:65:
/ecos-work/mips_install/include/cyg/hal/var_cache.h:92:2: #error Unknown
MIPS32 Variant
/ecos-work/mips_install/include/cyg/hal/var_cache.h:198:5: warning:
"HAL_DCACHE_WRITETHRU_MODE" is not defined
/ecos-work/mips_install/include/cyg/hal/var_cache.h:202:2: #error
HAL_DCACHE_FLUSH undefined for MIPS32 writeback cache
/ecos-work/mips_install/include/cyg/hal/var_cache.h:207:5: warning:
"HAL_DCACHE_WRITETHRU_MODE" is not defined
/ecos-work/mips_install/include/cyg/hal/var_cache.h:211:2: #error
HAL_DCACHE_STORE undefined for MIPS32 writeback cache
make[1]: Leaving directory `/ecos-work/mips_build/hal/mips/arch/current'
make[1]: *** [src/hal_misc.o.d] Error 1

The problem is that the generic version of cache header file (on
cyg/hal/var_cache.h) has a check for the MIPS 4KC and generates a compile
error (#error). The 5KC cache header file is in the makefile and on
hal/mips/mips64/current/include/var_cache.h. It would seem that the 5KC
header should be used instead of the 4KC header.

Does anybody have a fix for this apparent problem?

Thanks in advance.

Hans


-- 
Before posting, please read the FAQ: http://ecos.sourceware.org/fom/ecos
and search the list archive: http://ecos.sourceware.org/ml/ecos-discuss

^ permalink raw reply	[flat|nested] 4+ messages in thread

end of thread, other threads:[~2004-08-24 17:24 UTC | newest]

Thread overview: 4+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2004-08-24 17:24 [ECOS] MIPS 5KC Target Devaughn, Hans
     [not found] <EA78B62757AF1E4799828249310AC4CA060A44EB@stca206a.bus.sc.rolm.com>
2004-08-24 17:16 ` Nick Garnett
  -- strict thread matches above, loose matches on Subject: below --
2004-08-24 14:32 Devaughn, Hans
2004-08-24 16:07 ` Nick Garnett

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 read-only IMAP folder(s) and NNTP newsgroup(s).