changes.mike   [plain text]


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.