History log of /src/sys/arch/amigappc/include/cpu.h |
Revision | | Date | Author | Comments |
1.21 |
| 16-Feb-2022 |
riastradh | powerpc: Sprinkle "memory" clobbers on eieio and nearby asm blocks.
Otherwise the compiler may reorder these around loads and stores, which mostly defeats the purpose. `asm volatile' just ensures the instruction isn't _deleted_; it may still move around.
|
1.20 |
| 20-Jun-2011 |
matt | Don't expose port-specific if _MODULE is defined. Don't _MACHINE_CPU_H_, _<PORT>_CPU_H_
|
1.19 |
| 20-Jan-2011 |
phx | branches: 1.19.2; Add missing is_a600() definition, used by amiga devices. We simply define it as 0, because an A600 will never have a PPC installed.
|
1.18 |
| 09-Feb-2010 |
phx | branches: 1.18.2; 1.18.4; 1.18.6; Moved the macros amiga_cpu_sync() and amiga_membarrier() from amiga/device.h to the MD include/cpu.h. Also make sure that grf_cvreg.h includes cpu.h as it is needed by Xamiga in xsrc/xfree/xc/programs/Xserver/hw/netbsd/amiga/s3/amigaCV.h.
|
1.17 |
| 02-Feb-2010 |
phx | branches: 1.17.2; Make it compile with all devices from amiga/dev.
|
1.16 |
| 21-Jul-2009 |
phx | Some improvements based on the work of Adam Ciarcinski. Adapted everything to integrate with current 5.99 source. Added an Amiga PIC for interrupt handling.
Status: A CSPPC machine probably boots into single user, but only few devices will attach without problems (e.g. keyboard, serial, parallel, floppy disk, the RTC, CC graphics, sometimes Ariande ethernet and A4000 IDE. BPPC support is prepared, but unfinished and untested (I don't own a BPPC).
A problem which has to be solved is interrupt acknowledging, which may happen twice. Once in the amiga drivers from sys/arch/amiga/dev and then in the PPC specific pic_amiga.c.
|
1.15 |
| 14-Mar-2009 |
dsl | Remove all the __P() from sys (excluding sys/dist) Diff checked with grep and MK1 eyeball. i386 and amd64 GENERIC and sys still build.
|
1.14 |
| 04-Mar-2007 |
christos | branches: 1.14.44; 1.14.52; 1.14.58; Kill caddr_t; there will be some MI fallout, but it will be fixed shortly.
|
1.13 |
| 16-Feb-2007 |
ad | branches: 1.13.2; Remove spllowersoftclock() and CLKF_BASEPRI(), and always dispatch callouts via a soft interrupt. In the near future, softclock will be run from process context.
|
1.12 |
| 11-Dec-2005 |
christos | merge ktrace-lwp.
|
1.11 |
| 04-Jan-2004 |
jdolecek | branches: 1.11.16; Rearrange process exit path to avoid need to free resources from different process context ('reaper').
From within the exiting process context: * deactivate pmap and free vmspace while we can still block * introduce MD cpu_lwp_free() - this cleans all MD-specific context (such as FPU state), and is the last potentially blocking operation; all of cpu_wait(), and most of cpu_exit(), is now folded into cpu_lwp_free() * process is now immediatelly marked as zombie and made available for pickup by parent; the remaining last lwp continues the exit as fully detached * MI (rather than MD) code bumps uvmexp.swtch, cpu_exit() is now same for both 'process' and 'lwp' exit
uvm_lwp_exit() is modified to never block; the u-area memory is now always just linked to the list of available u-areas. Introduce (blocking) uvm_uarea_drain(), which is called to release the excessive u-area memory; this is called by parent within wait4(), or by pagedaemon on memory shortage. uvm_uarea_free() is now private function within uvm_glue.c.
MD process/lwp exit code now always calls lwp_exit2() immediatelly after switching away from the exiting lwp.
g/c now unneeded routines and variables, including the reaper kernel thread
|
1.10 |
| 02-Nov-2003 |
jdolecek | add /* nothing */ comment to cpu_wait()/cpu_swapout()
|
1.9 |
| 27-Sep-2003 |
is | Bring some stuff up-to-date. To be continued.
|
1.8 |
| 03-Dec-2001 |
aymeric | branches: 1.8.16; remove things that were copied verbatim from powerpc_cpu.h and #include <powepc/powerpc_cpu.h>
|
1.7 |
| 30-May-2001 |
mrg | branches: 1.7.2; use _KERNEL_OPT
|
1.6 |
| 18-Feb-2001 |
is | branches: 1.6.2; Initial version of interupt handling, by Adam Ciarcinski.
|
1.5 |
| 14-Dec-2000 |
mycroft | Partial syscall cleanup, as per other ports.
|
1.4 |
| 25-Aug-2000 |
thorpej | branches: 1.4.2; 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.
|
1.3 |
| 16-Jun-2000 |
is | Define schedstate_percpu.
|
1.2 |
| 26-May-2000 |
thorpej | branches: 1.2.2; 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.
|
1.1 |
| 25-May-2000 |
is | Initial AmigaPPC commit.
Lots of the work was done by Adam Ciarcinsky.
Currently, this only supports CyberPPC boards by Phase 5. Blizzard PPC expected later.
The kernel is useless but for demonstrating that it starts... especially interupts, and most of MMU support, is not in yet. Builtin console works, however, and you can look at the kernel startup messages.
|
1.2.2.1 |
| 22-Jun-2000 |
minoura | Sync w/ netbsd-1-5-base.
|
1.4.2.4 |
| 12-Mar-2001 |
bouyer | Sync with HEAD.
|
1.4.2.3 |
| 05-Jan-2001 |
bouyer | Sync with HEAD
|
1.4.2.2 |
| 20-Nov-2000 |
bouyer | Update thorpej_scsipi to -current as of a month ago A i386 GENERIC kernel compiles without the siop, ahc and bha drivers (will be updated later). i386 IDE/ATAPI and ncr work, as well as sparc/esp_sbus. alpha should work as well (untested yet). siop, ahc and bha will be updated once I've updated the branch to current -current, as well as machine-dependant code.
|
1.4.2.1 |
| 25-Aug-2000 |
bouyer | file cpu.h was added on branch thorpej_scsipi on 2000-11-20 19:59:39 +0000
|
1.6.2.1 |
| 21-Jun-2001 |
nathanw | Catch up to -current.
|
1.7.2.1 |
| 10-Jan-2002 |
thorpej | Sync kqueue branch with -current.
|
1.8.16.3 |
| 21-Sep-2004 |
skrll | Fix the sync with head I botched.
|
1.8.16.2 |
| 18-Sep-2004 |
skrll | Sync with HEAD.
|
1.8.16.1 |
| 03-Aug-2004 |
skrll | Sync with HEAD
|
1.11.16.2 |
| 03-Sep-2007 |
yamt | sync with head.
|
1.11.16.1 |
| 26-Feb-2007 |
yamt | sync with head.
|
1.13.2.1 |
| 12-Mar-2007 |
rmind | Sync with HEAD.
|
1.14.58.1 |
| 13-May-2009 |
jym | Sync with HEAD.
Commit is split, to avoid a "too many arguments" protocol error.
|
1.14.52.1 |
| 28-Apr-2009 |
skrll | Sync with HEAD.
|
1.14.44.3 |
| 11-Mar-2010 |
yamt | sync with head
|
1.14.44.2 |
| 19-Aug-2009 |
yamt | sync with head.
|
1.14.44.1 |
| 04-May-2009 |
yamt | sync with head.
|
1.17.2.1 |
| 30-Apr-2010 |
uebayasi | Sync with HEAD.
|
1.18.6.1 |
| 08-Feb-2011 |
bouyer | Sync with HEAD
|
1.18.4.1 |
| 06-Jun-2011 |
jruoho | Sync with HEAD.
|
1.18.2.1 |
| 05-Mar-2011 |
rmind | sync with head
|
1.19.2.1 |
| 23-Jun-2011 |
cherry | Catchup with rmind-uvmplock merge.
|