source: rtems/c/src/lib/libcpu/powerpc/mpc6xx/mmu/Makefile.am @ 0d776cd2

4.104.114.84.95
Last change on this file since 0d776cd2 was 0d776cd2, checked in by Joel Sherrill <joel.sherrill@…>, on 05/14/02 at 16:56:44

2001-05-14 Till Straumann <strauman@…>

  • rtems/powerpc/registers.h, rtems/score/ppc.h: Per PR213, add the following:
    • support for the MPC74000 (AKA G4); there is no AltiVec? support yet, however.
    • the cache flushing assembly code uses hardware-flush on the G4. Also, a couple of hardcoded numerical values were replaced by more readable symbolic constants.
    • extended interrupt-disabled code section so enclose the entire cache flush/invalidate procedure (as recommended by the book). This is not (latency) critical as it is only used by init code but prevents possible corruption.
    • Trivial page table support as been added. (1:1 effective-virtual-physical address mapping which is only useful only on CPUs which feature hardware TLB replacement, e.g. >604. This allows for write-protecting memory regions, e.g. text/ro-data which makes catching corruptors a lot easier. It also frees one DBAT/IBAT and gives more flexibility for setting up address maps :-)
    • setdbat() allows changing BAT0 also (since the BSP may use a page table, BAT0 could be available...).
    • asm_setdbatX() violated the SVR ABI by using r20 as a scratch register; changed for r0
    • according to the book, a context synchronizing instruction is necessary prior to and after changing a DBAT -> isync added
  • Property mode set to 100644
File size: 899 bytes
Line 
1##
2## $Id$
3##
4
5
6PGM = $(ARCH)/mmu.rel
7
8C_FILES = bat.c pte121.c
9
10S_FILES = mmuAsm.S
11
12include_libcpudir = $(includedir)/libcpu
13
14include_libcpu_HEADERS = bat.h pte121.h
15
16mmu_rel_OBJECTS = $(C_FILES:%.c=$(ARCH)/%.o) $(S_FILES:%.S=$(ARCH)/%.o)
17
18include $(RTEMS_ROOT)/make/custom/@RTEMS_BSP@.cfg
19include $(top_srcdir)/../../../../../automake/compile.am
20include $(top_srcdir)/../../../../../automake/lib.am
21
22$(PROJECT_INCLUDE)/libcpu:
23        $(mkinstalldirs) $@
24$(PROJECT_INCLUDE)/libcpu/%.h: %.h
25        $(INSTALL_DATA) $< $@
26
27#
28# (OPTIONAL) Add local stuff here using +=
29#
30
31$(PGM): $(mmu_rel_OBJECTS)
32        $(make-rel)
33
34PREINSTALL_FILES = $(PROJECT_INCLUDE)/libcpu \
35    $(include_libcpu_HEADERS:%=$(PROJECT_INCLUDE)/libcpu/%)
36
37all-local: $(ARCH) $(PREINSTALL_FILES) $(mmu_rel_OBJECTS) $(PGM)
38
39.PRECIOUS: $(PGM)
40
41EXTRA_DIST = bat.c bat.h mmuAsm.S pte121.c pte121.h
42
43include $(top_srcdir)/../../../../../automake/local.am
Note: See TracBrowser for help on using the repository browser.