Subject: Re: Snapshot 20030927 available
To: None <wileyc@rezrov.net>
From: Izumi Tsutsui <tsutsui@ceres.dti.ne.jp>
List: port-mips
Date: 09/28/2003 23:34:41
Ok, I've looked most diffs and committed some of them.
In article <20030928064500.GA9966@rezrov.net>
wileyc@rezrov.net wrote:
> (things that can be committed now without breaking other platforms)
> * arch/sgimips (in toto)
I've checked these code, it seems some more cleanup is needed
(including original sources):
>> +++ ip32/sys/arch/sgimips/conf/majors.sgimips
:
>> device-major ksyms char 77 ksyms
>> +device-major lpt char 78 lpt
>> device-major pf char 78 pf
>> device-major crypto char 79 opencrypto
I think lpt should be 80. (merge botch?)
etc.sgimips/MAKEDEV also needs fix.
>> +++ ip32/sys/arch/sgimips/dev/crime.c
:
>> void * crime_intr_establish(int, int, int, int (*)(void *), void *);
>> void crime_intr(u_int);
>> +void crime_intr_mask(struct crime_softc *, unsigned int);
>> +
These functions are refered from other sources,
so they should be declared in crimevar.h.
>> + crime_sc->iot = 1;
Maybe we should have some macro for MD bus space tag values.
(they are used only in bus.c:bus_space_{read,write}_{1,2}() ?)
>> + crime_intr_mask(crime_sc, irq);
:
>> +void
>> +crime_intr_mask(struct crime_softc *sc, unsigned int intr)
crime_intr_mask() always uses the global crime_sc,
so we don't have to pass it from callers.
>> +++ ip32/sys/arch/sgimips/dev/crimereg.h
:
>> +#include <machine/bus.h>
Register definitions don't require bus.h.
>> +++ ip32/sys/arch/sgimips/dev/mace.c
:
>> -void mace_intr(int irqs);
>> +void mace_intr(int);
This (and some other functions) should be declared in macevar.h.
>> +extern struct sgimips_bus_dma_tag sgimips_default_bus_dma_tag;
This isn't needed here because declared in <machine/bus.h>.
>> + sc->iot = 3;
Also needs to define macro for bus space tag.
>> + if ( (bus_dmamem_alloc(sc->dmat, 32768,
>> + PAGE_SIZE, 32768, &sc->seg,
We should have some macro for these "32768".
>> +++ ip32/sys/arch/sgimips/sgimips/machdep.c
This file contains flush_pcache_anyway hack and r5ksc/r10k stuff.
Which changes should be done for intermediate commit?
I've put modified (but untested) patch for sgimips specific part here:
http://www.ceres.dti.ne.jp/~tsutsui/netbsd/sgimips-chris-patch-20030928.diff
> and the cosmetic arch/mips,
Some of these have been committed, but r5ksc and r10k stuff is not yet.
I have some questions about other diffs:
>> +++ ip32/sys/arch/mips/include/int_types.h
:
>> #ifdef _LP64
>> -typedef long int __intptr_t;
>> -typedef unsigned long int __uintptr_t;
>> +typedef long long __intptr_t;
>> +typedef unsigned long long __uintptr_t;
On _LP64, long and unsigned long are 64bit, so I don't think
this change is needed.
>> +++ ip32/sys/arch/mips/mips/genassym.cf
:
>> -#if !defined(__mips_n32) && !defined(__mips_n64)
>> +if !defined(__mips_n32) && !defined(__mips_n64)
>> # Use these only in code used by 32-bit processors (which cannot
>> # use new-ABI).
:
>> -#endif
>> +endif
Is these '#'s are just typo, or intentional?
Does this cause any problem for now?
> * distrib and etc (for sysinst and devices, respectively)
Still I'll leave them because we should have discussion
with portmasters and build maintainers what kernel sets
we should have etc.
---
Izumi Tsutsui
tsutsui@ceres.dti.ne.jp