Commit Graph

32921 Commits

Author SHA1 Message Date
briggs
b3fa829f51 Get rs6000.h from gnu/dist/toolchain/include instead of gnu/dist/include. 2002-09-17 03:55:40 +00:00
gmcgarry
24faaecc3a Implement CPU locks. Untested. 2002-09-16 21:01:31 +00:00
manu
e77de5cb68 Initial APM support (enough to get battery level) 2002-09-16 19:52:52 +00:00
manu
eee61c81f0 Fix a config mistake for wsmouse 2002-09-16 19:50:27 +00:00
gmcgarry
9fdf5b4b9e Implement CPU spinlocks. Compile-tested only. 2002-09-16 09:12:50 +00:00
gmcgarry
a2e5c0f036 Bring down from nathanw_sa branch. 2002-09-16 07:00:43 +00:00
chs
2df384b428 fix printf format string. 2002-09-16 02:12:30 +00:00
chs
5a93abd050 fix the FIRMWORKSBUGS case: ofwr_init() substitutes a wrapper OFW entry point
for the real one, so we must call it before we save off the entry point
that the higher level code will use.
2002-09-16 02:07:24 +00:00
skrll
1f4f5626a4 Fix typos in comment. 2002-09-15 20:11:55 +00:00
bjh21
325b2641c5 Cleanup: Remove no-longer-accurate comment, un-__P, ANSIfy, __KERNEL_RCSID,
other light KNF.
2002-09-15 11:27:47 +00:00
bjh21
166f9fdf01 Allocate channel structures as part of the softc rather than malloc'ing them
at run time.  This simplifies the code and avoids problems with uninitialised
variables, and if it's good enough for pciide(4), it's good enough for me.

Also normalise the prefix for channel-specific messages.
2002-09-15 11:00:11 +00:00
bjh21
9da7134dd1 On ARCIN v6 cards, clear the EPROM page latch on shutdown. This seems to be
necessary to allow the card to be detected afterwards.  In theory, this
shouldn't be necessary, since we don't touch the page latch yet, but I'm not
going to argue.
2002-09-14 18:12:16 +00:00
thorpej
c0691fd89d Back out previous; it breaks binary compatibility between platforms
in the same MACHINE_ARCH.
2002-09-14 15:54:00 +00:00
mycroft
e9a1e15d7e Move some #defines out of _KERNEL. 2002-09-14 12:58:37 +00:00
tsutsui
6ea9721865 Add (missed) entries for md(4). 2002-09-14 11:16:16 +00:00
nathanw
23941bee81 Add the now-tested "autri* at pci?" audio device. Found onboard on the
Samsung UP1500.
2002-09-14 00:58:55 +00:00
manu
100872541e fix touchpanel broken behavior:
- when moving the stylus, the cursor was updated only when the screen was
released
- when moving the stylus for too long, the kernel crashed

This was caused by improper delays in SSP read and write, and by interrupt
hammering while the screen is touched). Both led to the machine handling
interrupts all the time and been unable to schedule the X server, therefore
the lack of cursor refresh.

The problem is fixed by
- masking touchpanel interrupts as soon as we are already handling them
- creating a kernel thread (j720ssp) that takes care of keyboard and
touchpanel I/O, instead of doing it in a softintr.
- reducing delays in j720ssp_readwrite operations from 5ms to 0.1ms.

NB: If the delay in j720ssp_readwrite operation is lowered to 0.1, then
switching on the screen using the power key pushes brightness to maximum.
In order to avoid this, we introduce a wait argument to j720ssp_readwrite,
which specify how many microseconds we have to wait. j720ssp_readwrite is
called with wait = 100 everywhere except in j720lcdparam where it is called
with wait = 500. That way it works.
2002-09-13 22:44:58 +00:00
ad
ca0ac2c78c Driver for the Sun ZX/Leo framebuffer. This would be called leo, but the
amiga port already has a driver by that name.
2002-09-13 14:03:52 +00:00
chuck
fa0cb6c277 increase sc_maxxfer from 63K to 64K. otherwise fsck fails for
file systems with larger block sizes.
2002-09-13 03:00:18 +00:00
simonb
7f4e82e47b Add CPU_MIPS_DOUBLE_COUNT for the TX49xx cpus. 2002-09-13 01:27:46 +00:00
ragge
683a9a8544 Add COMPAT_15 and COMPAT_16 and commented-out dmf. 2002-09-12 19:23:45 +00:00
ragge
32923df5d6 Fix a signal handler bug originally reported by Hugh Graham some year ago:
If two signals are sent after each other without the process being run in
userspace between them then the second one will overwrite part of the signal
info stored on the userstack.
Fixed by rewriting and simplifying both the signal delivery code and the
trampoline code. Also bump signal version number to 2.
2002-09-12 18:22:23 +00:00
abs
4bebaafe44 Protect extern zstty_cd with (NKBD > 0) || (NMS > 0) 2002-09-12 12:51:37 +00:00
scw
a9c1bc6c83 Add code to deal with the "Cache Purge/Invalidate can cause TLB Miss"
problem, such that a TLB miss no longer occurs.

With the above, it is now safe to enable write-back caching for userland
mappings.

TODO: Deal with cache issues for shared mappings with different VAs.
2002-09-12 12:44:13 +00:00
scw
7e0aa6fcfc sh5_setasid() now returns the original ASID value. 2002-09-12 12:39:34 +00:00
scw
a73ea332f6 Adapt to new cacheops requirements. 2002-09-12 12:38:42 +00:00
scw
22569e09ed The cacheops functions now need the physical address of the region
to be purged/invalidated.
2002-09-12 12:37:49 +00:00
scw
b0ecf76dd4 sh5_setasid() now returns the value of the previous ASID. 2002-09-12 12:35:00 +00:00
matt
02573a8516 Add non-_KERNEL variants so regress/sys/kern/lock will compile. 2002-09-12 07:31:13 +00:00
martin
000826593a Make kernels without KTRACE work. 2002-09-11 20:19:45 +00:00
mycroft
3294e33d95 Don't blindly receive all multicast packets just because we're on a turbo.
Pay lip service to making promiscuous mode work.
2002-09-11 13:15:58 +00:00
scw
08dfbb4305 - Be more consistent about using ptel_t where it matters.
- Add event counters for some key pmap events (similar to mpc6xx pmap).

 - Use the cache-friendly, optimised copy/zero page functions.

 - Add the necessary cache management code to enable WriteBack caching
   of KSEG1 mappings. Seems to work fine so far.
2002-09-11 11:08:45 +00:00
scw
ecb4124668 - Add cache-friendly, optimised copypage/zeropage functions for use by
the pmap module.

- Add {,e}intrnames and {,e}intrcnt to keep kernel-symbol grovelling
  tools like vmstat(8) happy.
2002-09-11 11:03:08 +00:00
scw
b08dae4d46 Tweak the interrupt names to properly match reality. 2002-09-11 10:57:50 +00:00
scw
e47c955f01 Get the correct evcnt structure and ipl number when initialising softints. 2002-09-11 10:56:43 +00:00
scw
2b0c53084c Slight tweak to save one instruction in the pteg TLB miss case. 2002-09-11 10:55:05 +00:00
simonb
6ebf56cc52 Use AU1500_MAC0_BASE as well as a test for setting the MAC addresses
of the on-chip interfaces.
2002-09-11 08:30:48 +00:00
mycroft
f13a876c12 Remove straggling NEXT_TURBO #ifdefs. 2002-09-11 07:17:33 +00:00
mycroft
d6a62735b7 Attach nextdisplay on the mono turbo. 2002-09-11 07:06:16 +00:00
mycroft
8ac5416160 In en_put(), if we don't get a packet, just return 0. This is how we tell
the libsa code to retransmit.
2002-09-11 06:32:07 +00:00
mycroft
d5e3432796 Don't know whether it works, but enable the '030 support for the Hell of it. 2002-09-11 04:17:01 +00:00
mycroft
a0688f1086 Determine turbo-ness based on the ROM machine type here, too. 2002-09-11 02:17:14 +00:00
mycroft
c618f2cc87 Comprehensive patches from Christian Limpach:
* Fix problems with the DMA and SCSI drivers.
* Make turbo machines sort of work.
Additional fixes from me:
* Determine if we're a turbo at boot time, by looking at the ROM machine type.
* Set the display size correctly (1120 pixels wide, but padded to 1152 only on
  non-turbo machines).
Caveats:
* SCSI doesn't work on the turbo (or at least it blows chunks with no devices
  attached).
* Media selection doesn't work on the turbo (the BMAP stuff doesn't exist on
  turbo machines).
* The boot block is prone to timing out.
2002-09-11 01:46:29 +00:00
scw
151ee8c81a Fix a devsw merge botch. 2002-09-10 21:10:18 +00:00
scw
bd0dd2e2e1 Add "machine fpr" command. This dumps the FPU registers for the current,
or a specified, process.
2002-09-10 12:44:38 +00:00
scw
fe2f8acf65 Another big round of pmap fixes/cleanup:
- Use the PMAP_ASID_* constants from pmap.h

 - Track pmap_pvo_{enter,remove}() depth in the same way as mpc6xx's pmap
   (on which this pmap was originally based).

 - Some misc. tidying up and added commentary.

 - Use the VA/KVA to select whether to use the IPT or PTEG instead of
   checking which pmap is being operated on.

 - Add a handy DDB-callable function which will scan the kernel IPT
   looking for inconsitencies.

 - Finally, when unmapping a pool page, purge the data cache for the
   page. This permits write-back caching to be enabled for kernel
   text/data.
2002-09-10 12:42:03 +00:00
scw
bcf9491257 Always save/restore the FPSCR into/from the sigcontext. 2002-09-10 12:33:44 +00:00
scw
1a8208566d - Remove the RESVEC vector table (panic/debug traps). It's now in
machine-specific code.

 - Re-work the code which detects a nested critical section event.
   We can now determine who is the owner of the critical section, and
   what event occurred while it was owned.

 - Work-around a silicon bug which can cause a nested critical event.
   In the _EXCEPTION_ENTRY() macro (which sets up the critical section),
   if there is a pending hardware interrupt which has a higher priority
   than the current IMASK, then the "putcon" which supposedly clears SR.BL
   and sets SR.IMASK to 0xf is not atomic. The pending hardware interrupt
   will be taken, causing a nested critical section event. The work-around
   is to update SR.BL and SR.IMASK separately using two "putcon" insns.
2002-09-10 12:27:21 +00:00
scw
cd4797ccfa - Give a process a SIGFPE if it gets an FPU exception.
- Make it possible to at least *try* to resume execution if we
   get an NMI.
 - Major clean-up of the panic/critical section trap handlers.
   The dumped state is now much more accurate.
2002-09-10 12:15:39 +00:00
scw
5359676ddc - Add some comments,
- Fully initialise the FPU state (if enabled),
 - Implement delay() in assembly code.
2002-09-10 12:11:03 +00:00