Commit Graph

90 Commits

Author SHA1 Message Date
toshii 58165a53a2 Make masked interrupts don't bring CPU out of idle mode. 2001-04-17 17:12:40 +00:00
toshii cfa894dce0 Use idle mode in process waiting idle loop. 2001-04-17 16:14:57 +00:00
toshii de8e20334a Map a page needed for entering idle mode.
Also, use zero memory at physaddr 0xe0000000 to clean D cache.
2001-04-17 16:10:47 +00:00
toshii ffe7f4da8a Fix a bug crept in the previous revision. Call dosoftints() after
reenabling interrupts.
2001-04-17 16:07:13 +00:00
toshii a78b59337f Overhaul interrupt handlers.
- Set the match register before calling hardclock() to prevent
 clockintr lossage.
- Better handling of match register overrun case.
2001-04-17 15:58:51 +00:00
toshii 0c1210c6b3 Make the debugging hack needed for DEBUG_BEFOREMMU functional again. 2001-04-17 15:53:04 +00:00
toshii 5373b5ab86 Special care must be taken in order to run statclock at 128Hz.
For now, change statclock rate to 64Hz for simplicity.

Thanks to Ross Harvey for pointing out this issue.
2001-04-17 15:49:02 +00:00
toshii af9740eeee Initialize platid in hpc_machdep(). 2001-04-17 15:33:39 +00:00
toshii 9e3772786d Add header files for PPC and SSP register definitions. 2001-04-15 17:27:26 +00:00
toshii 1875326646 Use the second channel to generate 128Hz statclock interrupts.
top(1) reports more accurate CPU times (user/sys/intr/idle) now.
2001-04-15 17:19:32 +00:00
kleink f06533a1ee Add definitions of C99 integer format conversion macros.
XXX Fastest minimum-width integer types haven't been decided upon yet.
2001-04-15 17:13:04 +00:00
kleink 739cb75837 Add definitions of C99 specified-width integer type limits.
XXX Fastest minimum-width integer types haven't been decided upon yet.
2001-04-15 15:29:02 +00:00
kleink cdcf9f46c5 Add definitions of C99 integer constant macros.
Tidy Makefiles up a little.
2001-04-14 22:46:19 +00:00
kleink a7c20e5788 Add definitions of C99 integer constant macros. 2001-04-14 22:38:33 +00:00
kleink 7affdab52e Add definitions of C99 minimum-width and greatest-width integer types.
XXX Fastest minimum-width integer types haven't been decided upon yet.
2001-04-14 12:19:49 +00:00
toshii ff71a021ca There is no /usr/include/hpcarm/disklabel_acorn.h. 2001-04-06 11:10:57 +00:00
toshii 3180bc6ac6 Fix a couple of bugs including kernel_pt_table[] range overflow.
I thought some incompatiblity with gcc-2.95.3 prevented booting,
but the actual reason was this silly overflow.
2001-04-06 05:38:01 +00:00
toshii fe9328ad71 Reorder so that basic devices attach first. 2001-03-31 13:49:44 +00:00
toshii 2303009aeb Add SA11[01]0 DMA controller register definitions.
(I forgot to commit this a week ago.)
2001-03-31 13:13:22 +00:00
toshii 4f12f94c95 Protect spl changing functions from interrupts. 2001-03-31 12:53:59 +00:00
toshii c1244a5828 Remove cons_init(com), which prevents compiling in com_pcmcia.c. 2001-03-31 12:52:31 +00:00
toshii 02811d05f2 Fix a bug which caused interrupt loss. 2001-03-31 12:49:21 +00:00
toshii 2efdaff40e Set hardware interrupt masks in sa11x0_intr_{establish,disestablish}. 2001-03-31 12:48:10 +00:00
toshii 129f529148 Back out most of rev 1.4 so that it compiles again. 2001-03-31 12:36:53 +00:00
toshii dfddb1e107 Increase spl_masks[] size by one and set the extra element to 0.
irq_entry accesses here.
2001-03-31 12:22:37 +00:00
toshii 221f247a25 Add some missing functionality.
- wait READY signal in enable function
 - use tsleep for large delays
 - implement disable function
2001-03-27 18:06:39 +00:00
lukem 20ba07f2fe - add dev_noimpl(xxx,yyy) macro to replace "(dev_type_xxx((*))) yyy",
and use appropriately

- create more helper macros:
   . cdev__xyz_init(c,n), such as cdev__ocri_init() for
     /* open, close, read, ioctl */, etc.
   . cdev__xRy_init(c,n), where nullop is used instead of enodev to dummy out
     method `R' and the comments now read /* xxx (read) yyy */ instead
   . cdev__xyz_t_init(c,n,t) - as per cdev__xyz_init, but sets d_type = t
     as well

- use seltrue instead of dev_noimpl(poll,*), as (IIRC) cdevsw.d_poll should
  always DTRT WRT returning a valid result.  (a few devices previously
  incorrectly returned ENODEV)

- use dev_noimpl(stop,enodev) instead of dev_noimpl(stop,nullop) if tty
  == 0, because it doesn't matter if dev_type_stop isn't implemented in that
  case, and it allows the use of the cdev__xyz_init macros. certain ports
  (sparc,sparc64,x68k) used the nullop method for dev_type_stop in a few
  drivers, whereas everything else uses enodev

- ensure that the comments are accurate WRT the behaviour of a given entry
2001-03-26 12:33:22 +00:00
toshii d2f3ad2de2 Support machdep.booted_kernel sysctl. 2001-03-23 11:10:10 +00:00
toshii 7ed6dadd10 Handle bootargs passed by hpcboot.
Change stack pointer initialization.
2001-03-23 08:58:14 +00:00
toshii 2d6322c3be Handle ELF symbol table. 2001-03-22 03:45:39 +00:00
lukem 9f60674a47 now that duplicated stuff has been moved to sys/conf.h, remove unnecessary
defs for: lpt, joy, pc
2001-03-21 23:42:14 +00:00
toshii 7e9512010c Oops. I forgot this line. 2001-03-21 17:43:39 +00:00
toshii 4b32677535 Map DMA controller and disable its DMA channels. 2001-03-21 17:42:37 +00:00
toshii f8dab8e69a Make card insertion/removal work.
XXX powerdown and {io,mem}_unmap are still missing.
2001-03-21 16:16:35 +00:00
toshii 7c429e90c2 Handle interrupt polarity. 2001-03-21 16:08:34 +00:00
toshii f1b9737b90 Fix nit. 2001-03-21 14:48:30 +00:00
toshii d16849a006 Make this compile again. 2001-03-21 14:40:00 +00:00
toshii 1f21d8b280 hpcarm kernel is ELF. 2001-03-20 18:01:49 +00:00
chs ac3bc537bd eliminate the KERN_* error codes in favor of the traditional E* codes.
the mapping is:

KERN_SUCCESS			0
KERN_INVALID_ADDRESS		EFAULT
KERN_PROTECTION_FAILURE		EACCES
KERN_NO_SPACE			ENOMEM
KERN_INVALID_ARGUMENT		EINVAL
KERN_FAILURE			various, mostly turn into KASSERTs
KERN_RESOURCE_SHORTAGE		ENOMEM
KERN_NOT_RECEIVER		<unused>
KERN_NO_ACCESS			<unused>
KERN_PAGES_LOCKED		<unused>
2001-03-15 06:10:32 +00:00
toshii c08eec9f47 Use hpc/hpc/disksubr.c. 2001-03-14 14:47:40 +00:00
bjh21 aebf9049d4 Update to use install_coproc_handler_static(), since install_coproc_handler()
isn't safe this early.

XXX hpcarm should use db_machine_init() to do this.
2001-03-13 20:52:48 +00:00
toshii 1bb261e173 Fix interrupt handling somewhat so that break signal gets DDB. 2001-03-12 03:27:18 +00:00
toshii ffe630e7c3 Sync with sa11x0_reg.h rev 1.4. 2001-03-11 14:37:03 +00:00
ichiro ea4611b0cd add ExtendedGPIO desc of iPAQ H3600 2001-03-11 07:27:36 +00:00
ichiro 2cb44b8020 add h3600 and jornada720 gpio port and irq 2001-03-11 06:00:42 +00:00
toshii a9e9b871de Add sacc, sacpcic, and sagpcic. 2001-03-10 19:05:40 +00:00
toshii f14e35f58e Driver code for SA11x1 based PCMCIA devices. 2001-03-10 19:01:27 +00:00
toshii 79d31f6571 Common driver code for SA11x0 PCMCIA function. 2001-03-10 19:00:39 +00:00
toshii 57abc92eeb This file is no longer used. PCMCIA driver code is divided into
sa11xx_pcic*, sa11x0_pcic* and sa11x1_pcic*.
2001-03-10 18:59:22 +00:00
toshii 2d36b2225d Support SA1111 companion chip. 2001-03-10 18:50:37 +00:00