ARCHITECTURE-44 MODS m98k/mmu_32_macros.h Defined bounds on htab size in terms of pteg's. Moved bat definitions into separate file (bat_32.h) to parallel m98601_bat.h. Ifdef'ed out tlb invalidate functions, probably need to implement these where used since they require a lock. m98k/bat_32.h Created. Contains bat definitions that conform to PPC architecture. (As opposed, to m98601_bat.h which conforms to m98601 spec.) m98k/basic_regs.h Changed prog_mode_t to pmr_t to be consistent with other reg names. Defined PVR_VERSION_M98601 for code that must switch on processor implementation. m98k/cache.h Renamed all routines from icache_invalidate to m98k_icache_invalidate, etc, etc... Added definition of CACHE_LINE_SIZE (which should probably be removed along with CACHE_BLOCK_SIZE since these aren't architectural and code shouldn't be encouraged to think so. Should create m98601_cache.h just to hold these constants?). m98k/mmu_32.h In a fit of personal pique, change the name of VSID_NULL to VSID_INVALID (1 place as opposed to N place change). Added definition of MAX_VSID. Added definitions for wim_t and pp_t and modified referencing structs. Added definitions of pte_t (pte_u_t and pte_l_t) and pteg_t (what hash table is made up of -- 8 pte_t's). Moved bat definitions into separate file (bat_32.h) to parallel m98601_bat.h. Added definitions to convert from htab address to htab org, and htabmask to size. m98k/m98601_bat.h Converted to use wim_t and pp_t. Defined enum for bl. Added a couple of macros to convert to and from BPN's to addresses and BL to len. Doug's definitions of BAT0 and BAT1 addresses and lengths. m98k/m98601_regs.h Defined enum's for run bits and resp bits in m98601_data_bp_mode_t and changed struct definition. ARCHITECTURE-43 MODS Makefile Added m98k/hw_workarounds to LOCAL_SOURCE Added m98k TAGS_ARCH Added rules to build and install m98k/workaround.s Added ALWAYS to workaround.s rules, since dependencies don't work Added workaround.s to clean target ARCHITECTURE-42 MODS m98k/asm_help.h Import's m98k/reg_help.h instead fo nrw/reg_help.h -- this gets STACK_INCR defined. Made all comments, symbols, variables, etc... conform to new GRF/grf and FPF/fpf naming convention. Improved comments for BUILD_FRAME. BEWARE: Macro's of the BUILD_FRAME ilk are NOT DIRECT replacements for the 88k macros! You'll have to read the comments and obey. ARCHITECTURE-41 MODS m98k/pseudo_inst.h Fixed a few bugs in the definition of 32-bit literal compare insts. ARCHITECTURE-40 MODS m98k/pseudo_inst.h Noted that these macros don't attempt to be 64-bit functional. Added "32" to all macros. You must append "32" to the name of any opcode (but before the trailing "." if there is one) to get the 32-bit version of the instruction. Fixed a couple of bugs in the initial release. Added macros for the cmpi family of instructions. The following instructions support 32-bit immediates: li32 rD,IMMED -- load 32-bit immediate andi32. rD,rS1,IMMED -- and with 32-bit immediate ori32 rD,rS1,IMMED -- or with 32-bit immediate xori32 rD,rS1,IMMED -- xor with 32-bit immediate lbz32 rD,rS1,IMMED -- load byte w/ zero extend, 32-bit displ Also in this family: lhz32, lha32, lwz32, lwa32, ld32, stb32, sth32, stw32, std32, lmw32, lmd32, stmw32 stmd32. The following forms are also recognized: lbz32 rD,IMMED lbz32 rD,rS1 addi32 rD,rS1,IMMED subi32 rD,rS1,IMMED addic32 rD,rS1,IMMED subic32 rD,rS1,IMMED addic32. rD,rS1,IMMED subic32. rD,rS1,IMMED mulli32 rD,rS1,IMMED cmpdi32 [crN,]rS1,IMMED cmpwi32 [crN,]rS1,IMMED cmpldi32 [crN,]rS1,IMMED cmplwi32 [crN,]rS1,IMMED cmpi32 BF,L,rS1,IMMED cmpli32 BF,L,rS1,IMMED ARCHITECTURE-38 MODS m88k/scc_reg.h Added defines for idle/delay timer resolution and Z85C30 clock frequencies. zs85C30.h Minor clean-up. Typo and wrapping comment. ARCHITECTURE-35 MODS m88k/inlines.h Another change to implementation of ST_WT_WORKAROUND. Now does st, serialize, FLUSH_CACHE. m88k/m88110_mmu.h Changed name of ldcr_fix bit to wim (windowed interrupt mode) to reflect Motorola's upgrade of this bit from "grey" status to a real control bit. Added define of new "allocate load disable" bit. Kernel and mon now turn this bit on by default do to problem with allocate load implementation -- this is a serious design problem which may result in allocate load being unusable. m88k/m88110_sfu.h Added, but ifdef'ed out, new versions of GET_SFU0_CR() and SET_SFU0_CR() macros. These versions generate significantly better code; unfortunately, the compiler has an "internal abort" when compiling these -O2. m88k/pseudo_inst.h Added new xmem workaround from latest errata -- xmem are followed by a serialize. m88k/fp_regs.h Added comment noting that we should convert get/set fp control register macros to the same style as new GET_SFU0_CR() macro. m88k/scc_reg.h Additions for kernel serial driver. Reordered stuff a little, changed a couple of names. (Modified mon driver to match; talked to Bassanio to let him know things were modified.) m88k/workaround.h Updated xmem workaround to add serialize after xmem. Added new st.wt workaround. m88k/siff_cc Added option to save temp files to help with debugging workaround problems. m88k/hw_workarounds/ld_allocate_workaround.h New workaround flag that disables load allocates. m88k/hw_workarounds/int_overflow_workaround.h New workaround flag that causes kernel to ignore integer overflow exceptions. ARCHITECTURE-34 MODS m88k/inlines.h Changed implementation of ST_WT_WORKAROUND. It used to flush the cache, now it sets FWT (force write-thru) while doing the write. ... looking for pmap_set_modify2 panic cause. m88k/m88110_sfu0.h Allocated another supervisor storage register to "processor frozen" use. Needed it to be able to cswitch DCTL at exception time. m88k/revision.h Made defines for board rev's. Now you don't have to count A, B, C, ... to figure out that Rev AD is 3. m88k/workaround.h If building workaround.s, output assembler equates for eq0, ne0, etc... Makefile Tweaks to makefile for building and installing m88k/workaround.s.