use "-march=r3900" for CPUFLAGS in TX3912 and TX3922.
The "-mips2" option seems to imply "-mdivide-traps" and
gcc4 with the option generates "teq" instruction on division ops,
but teq is not supported by TX39xx CPUs.
The problem is reported and the fix (-mdevide-breaks) is
provided by Risto Sainio. Tested on his PenCentra 200,
and also tested on Telios HC-AJ2 by nakayama@.
This should be pulled up to netbsd-4.
- also stop DMA in mec_reset() before resetting chip
- set MAC address to MAC_STATION reg in mec_attach(), not in mec_reset()
Possibly fixes occasional interrupt storm from mec(4) (i.e. hangup) at boot.
an 'ssize_t' or 'long' variable to 'register_t'.
If the sizes were different it would either overwrite stack or return
uninitialised stack. On big-endian systems things would be worse!
In fact it's mostly the same code, with a different stub on it.
On a cats the regress/sys/net/in_cksum tests show that it takes around
50-60% of the time the C version takes. In some cases it takes as low as
20%.
the Processor local memory, so that should provide a speed up.
Currently DMA won't work, as we only tell the kernel about the kinetic
memory, and exclude the motherboard memory. I'll look at fixing this over
the weekend.
Add support for kernels > 4MiB. The -current INSTALL kernel has now hit
25KiB over 4MiB and we were only adding L1 mappings for 4MiB.
Also added lots of tracing which I used to work out what boot32 was doing,
and so what the kernel was meant to be doing. This is disabled by default.
Out of paranoia also become a client of all domains before setting the ttb,
just in case RISC-OS ever decides to use domains.
All of this has been tested on my Kinetic Risc-PC. I've carried out a full
install onto it, and hope to use it for testing out the interrupt work I've
been doing.
it is deprecated, no longer required, and will be removed in a future
release of NetBSD.
Dramatically reduce the size of the session structure by removing an
IOV_MAX array of iovecs where only the first was use. Saves an 8k
bzero on each session creation.
Convert fixed-size allocations in cryptodev.c to pools.
With these changes the kinetic dram blocks are correctly identified and
passed into the kernel.
Note that I've a pending kernel change to understand the kinetic blocks
and do something useful with them.
- All three functions are included in the kernel by default.
They call a backend function cpu_in_cksum after possibly
computing the checksum of the pseudo header.
- cpu_in_cksum is the core to implement the one-complement sum.
The default implementation is moderate fast on most platforms
and provides a 32bit accumulator with 16bit addends for L32 platforms
and a 64bit accumulator with 32bit addends for L64 platforms.
It handles edge cases like very large mbuf chains (could happen with
native IPv6 in the future) and provides a good base for new native
implementations.
- Modify i386 and amd64 assembly to use the new interface.
This disables the MD implementations on !x86 until the conversion is
done. For Alpha, the portable version is faster.