Commit Graph

68 Commits

Author SHA1 Message Date
chs 8f0070db30 prepare for ELF:
- add "%" prefix to register names in assembly code.
 - use _C_LABEL() where necessary.
 - use packed structures where necessary to match the old ABI.
2001-11-20 03:19:41 +00:00
mrg 67afbd6270 use _KERNEL_OPT 2001-05-30 11:57:16 +00:00
scw 4350a7f2b7 Unification of the m68k syscall() function. 2000-12-19 21:09:54 +00:00
thorpej 4db6fc7542 Make need_resched() take a "struct cpu_info *" argument. This
causes gives a primitive form of processor affinity.  Its use in
roundrobin() still needs some work.
2000-08-25 01:04:06 +00:00
thorpej a7d0570e67 First sweep at scheduler state cleanup. Collect MI scheduler
state into global and per-CPU scheduler state:

	- Global state: sched_qs (run queues), sched_whichqs (bitmap
	  of non-empty run queues), sched_slpque (sleep queues).
	  NOTE: These may collectively move into a struct schedstate
	  at some point in the future.

	- Per-CPU state, struct schedstate_percpu: spc_runtime
	  (time process on this CPU started running), spc_flags
	  (replaces struct proc's p_schedflags), and
	  spc_curpriority (usrpri of processes on this CPU).

	- Every platform must now supply a struct cpu_info and
	  a curcpu() macro.  Simplify existing cpu_info declarations
	  where appropriate.

	- All references to per-CPU scheduler state now made through
	  curcpu().  NOTE: this will likely be adjusted in the future
	  after further changes to struct proc are made.

Tested on i386 and Alpha.  Changes are mostly mechanical, but apologies
in advance if it doesn't compile on a particular platform.
2000-05-26 21:19:19 +00:00
thorpej 28fb7c1eb8 Define cpu_number() as discussed on tech-smp. 1999-08-10 21:08:05 +00:00
briggs 71a4446b04 Unfortunately, several changes that are intermingled:
- Add initial IOP support.  ADB doesn't work yet for me, but it's here so
  that others will be encouraged to work on it.  ADB_HW_IOP basically
  is configured as a NOP so that serial consoles will continue to work.
- Roll via1_intr and via2_intr into the intr.c scheme--this also required
  changing rtclock_intr to grovel the stack differently so that hardclock
  gets the right arguments and softclock() doesn't get all reentrant.
- Make via1 interrupts parallel to via2 interrupts--handlers get a pass-
  through pointer and we can register handlers.  Register via1 interrupt
  with intr_establish()--normally level 1, level 6 for A/UX scheme.
- Use intr_establish() to set real via2 interrupt handler instead of the
  hacked function pointer.
- Reorganize adb-direct interrupts so that a function call is removed.
- Implement A/UX interrupts for all Quadras right now.  We may need to
  special case some Quadras, but Linux folks are reporting success on
  several models.
- Fix intrnames to be accurate for the normal, PSC, and A/UX interrupt
  configurations.
1999-06-28 01:56:55 +00:00
scottr fdd8445219 Prototype kvtop() here. 1999-04-06 03:40:23 +00:00
is 19d0a457aa oops. void->int 1999-02-26 22:55:33 +00:00
is f71d843a65 synchronize types, and s/curproc/p/ in one forgotten place 1999-02-26 22:37:57 +00:00
is 84971e3a6f mac68k part of pr 6152 fix, and missing bits for the others 1999-02-25 23:13:39 +00:00
scottr 84af636530 vm_offset_t -> {paddr_t, vaddr_t} 1998-12-22 08:47:05 +00:00
thorpej 49c62c4336 Changes to support fork_kthread():
- cpu_set_kpc() now takes void *arg third argument, passed to the
  entry point.
- cpu_fork() allows parent to be non-curproc iff parent is proc0.
  When forking non-curproc, assume its state has already been saved.
- Adjust various pieces of machine-dependent code to account of all of this.
1998-11-11 06:41:23 +00:00
scottr f234add115 Add gestalt machine type for the PowerBook 190/190cs. 1998-08-22 05:47:37 +00:00
scottr f49dd3ef30 Avoid declaring the "astpending" and "want_resched" globals in cpu.h,
as this breaks C++ code that happens to indirectly include this header.
Both Matthias Scheler and I noticed this, independently.

This problem notably does not affect the atari and sun3/sun3x ports,
which have already implemented a similar solution.
1998-02-13 07:41:45 +00:00
is a16fd7d74e Make these compile after m68k/m68k.h 1.4->1.5. 1997-10-26 21:41:34 +00:00
scottr 8630149cba Convert to MI 8530 SCC driver, from Bill Studenmund. The new front end
also supports DTR/CTS flow control.
1997-10-20 08:13:26 +00:00
briggs 13ceb16786 port-mac68k/4175: Need to add support for 33 MHz LC475/Q605.
Fix applied.  Thanks to David Johnston for the PR and the reminder.
1997-10-02 13:31:13 +00:00
scottr 6eb0e7c503 Prototype DCIS(). 1997-06-29 18:56:11 +00:00
scottr 4f74abe8b7 Remove redundant cpu_set_kpc() prototype, found by Paul Goyette. 1997-05-22 18:40:10 +00:00
scottr a777c246ad Adjust for previous m68k/pcb.h change 1997-05-20 03:25:07 +00:00
scottr 4765dedbf5 Move all splxxx() and softint-related macros and prototypes to intr.h,
and include it where appropriate.
1997-04-13 05:12:40 +00:00
briggs 3d16e320d6 Move physaccess/physunaccess prototypes. 1997-03-15 05:39:45 +00:00
scottr 876ad8d706 Console bell callback support prototypes 1997-02-10 22:13:40 +00:00
scottr d19b3500e3 Define single-instruction implementations of setsoft*() and siroff(),
and declare ssir as volatile.  This avoids the problem of lost softints
should a hard interrupt cause a softint to be flagged while we are
clearing a different one.

Idea from atari mtpr.h, modified/optimized by me.
1997-01-20 05:08:00 +00:00
scottr a6bbf8fc5b Define MACH_CLASSQ2, used by Performa 575.
Remove susword() because of prototype conflict with <sys/systm.h>.
1996-10-15 14:42:49 +00:00
scottr 2903ee4df5 Add second Quadra class and machineid (gestalt value) for Color Classic II 1996-10-12 07:35:29 +00:00
thorpej e469c7beca Use <m68k/cpu.h>. 1996-09-11 00:11:42 +00:00
scottr c92399979d Back out previous; actually, this is never a problem for us. (Duh.) 1996-07-12 17:09:26 +00:00
scottr 73b545f8f1 Fix from Leo Weppelman: Change accesses to 'ssir' to inline asm macro's. 1996-07-10 18:31:49 +00:00
scottr 5057bf9c78 Add Powerbook 500 series machine ID 1996-06-11 02:52:54 +00:00
briggs 79309c78d8 Patches from Bill Studenmund to get serial default settings from the booter. 1996-06-07 00:15:24 +00:00
briggs d6345a7855 More from Dave Huang (khym@bga.com)--set ROMLEN to 2MB and make another
class for AV machines (C660AV and Q840AV).
1996-05-25 14:48:38 +00:00
briggs 320adf52bf Add MACH_CLASSDUO. 1996-05-22 17:53:24 +00:00
briggs 513a0d293b m68881_restore takes struct fpframe *, not int []. 1996-05-05 16:33:46 +00:00
briggs 1febcb957e Prototype for sunos_sendsig() is now in sunos.h as suggested by veego. 1996-05-05 12:02:41 +00:00
briggs eb2ad19d6d Include pcb.h for prototypes. 1996-05-05 11:45:41 +00:00
briggs c02d890ef9 Move a few prototypes into machine/cpu.h. 1996-05-05 06:54:09 +00:00
briggs aad6e71194 Prototype for sunos_sendsig(). 1996-05-05 06:43:33 +00:00
briggs 37163421a3 Prototype for -Wall -Wstrict-prototypes -Wmissing-prototypes -Wno-uninitialized
Also change the device probing scheme to use something a bit more rational.
A current side-effect is that nubus cards are double-mapped.  I expect
to fix that shortly.
Also change splclock() to block everything but serial hardware interrupts.
1996-05-05 06:15:56 +00:00
briggs db2f33c640 Clean out some unneeded constants. 1996-02-27 03:23:42 +00:00
briggs 1b99515858 Add #defines for some more machines. 1996-01-09 15:26:02 +00:00
mycroft ce000f04ef Remove deprecated cpu_setstack(). 1995-12-21 05:01:32 +00:00
briggs 13c1f2d48b Shuffle MACH_CLASSes around a tad and add IIvx as a seperate class because
it may have a different method for accessing the 'via2' functions.
1995-09-14 02:48:09 +00:00
briggs 1fd03600dd Get rid of cpu040 for good. 1995-08-12 04:08:29 +00:00
briggs 84ee954356 Change NBSBASE to 0x90000000 and let it and NBSTOP be defined. 1995-07-06 13:25:30 +00:00
briggs 04834fb800 Remove cpu_set_init_frame() define.
Remove BROKEN_SWAP
Change cpu_swapout() to null-op.
Remove profile_tick() define.
Add some 040 stuff and make other 040 stuff compat. with hp300 port.
Cleanup a bit.
1995-06-21 03:06:33 +00:00
briggs a43ca9e742 Nuke cpu_exec and remove extra semicolon on cpu_swapout() panic string
(preparing for more changes in a bit...)
1995-05-17 00:30:16 +00:00
cgd 8703076975 define BROKEN_SWAP and/or cpu_swapout as appropriate. 1995-05-05 03:41:51 +00:00
christos de42a28a1b - added sunos_machdep.c for sun3, atari, amiga and mac68k.
- changed machdep.c and trap.c to use struct emul.
- remove ep_setup references.
- added struct emul to all emulations.
1995-04-22 20:24:40 +00:00