Home | History | Annotate | Download | only in virtex
History log of /src/sys/arch/evbppc/virtex/machdep.c
RevisionDateAuthorComments
 1.31  20-Dec-2023  thorpej Remove unnecessary <sys/malloc.h>.
 1.30  03-Aug-2021  rin Switch evbppc/ibm4xx to generic evbppc (same as oea) kernel modules.

I've confirmed that kernels similar to amd64/conf/MODULAR work fine
both on 403 and 405.

XXX
Unfortunately, we cannot immediately switch evbppc/booke to generic
kernel modules yet; it has its own intr.h implementation.
 1.29  30-Mar-2021  rin Move common global variables, i.e., phys_map, machine, and machine_arch to
evbppc/evbppc_machdep.c (bad naming; used only for 4xx boards).
 1.28  30-Mar-2021  rin Centralize cpu_reboot().
 1.27  30-Mar-2021  rin G/C bootpath.
 1.26  29-Mar-2021  rin Make VIRTEX_* kernels compile. Not tested.
 1.25  11-Jun-2020  ad branches: 1.25.2; 1.25.4;
uvm_availmem(): give it a boolean argument to specify whether a recent
cached value will do, or if the very latest total must be fetched. It can
be called thousands of times a second and fetching the totals impacts not
only the calling LWP but other CPUs doing unrelated activity in the VM
system.
 1.24  31-Dec-2019  ad Rename uvm_free() -> uvm_availmem().
 1.23  21-Dec-2019  ad uvmexp.free -> uvm_free()
 1.22  15-Jul-2018  maxv Retire ipkdb entirely. The option was removed from the config files
yesterday.

ok kamil christos
 1.21  27-Jul-2012  matt branches: 1.21.38; 1.21.40;
Fix some -fno-common fallout
 1.20  20-Jun-2011  matt branches: 1.20.2;
Change IBM4xx to use the common powerpc PIC framework.
Consolidate most ibm4xx initppc function into ibm4xx_init
and Make all IBM4xx use it.
Change explora to use initppc instead of bootstrap.
 1.19  20-Jun-2011  matt Cleanup includes. (<net/netisr.h> is handled by softints, not MD anymore,
so this can be nuked).
 1.18  18-Jun-2011  matt split device/softc (CFATTACH_DECL_NEW)
struct device * -> device_t
struct cfdata * -> cfdata_t
Use <sys/foo.h> instead of <machine/foo.h> if <sys/foo.h> exists
Explicitly include <powerpc/ibm4xx/cpu.h> when needed.
 1.17  15-Jun-2011  matt lcsplx is dead. remove last vestiges of it.
 1.16  12-Jun-2011  mrg for booke and ibm4xx evbppc systems, set module_machine to to either
"powerpc-ibm4xx" or "powerpc-booke".
 1.15  17-Jan-2011  matt branches: 1.15.4;
Add #include <machine/pcb.h>
 1.14  25-Feb-2010  matt branches: 1.14.2; 1.14.4;
Adapt to <spr.h> breakup.
 1.13  08-Feb-2010  joerg Remove separate mb_map. The nmbclusters is computed at boot time based
on the amount of physical memory and limited by NMBCLUSTERS if present.
Architectures without direct mapping also limit it based on the kmem_map
size, which is used as backing store. On i386 and ARM, the maximum KVA
used for mbuf clusters is limited to 64MB by default.

The old default limits and limits based on GATEWAY have been removed.
key_registered_sb_max is hard-wired to a value derived from 2048
clusters.
 1.12  27-Nov-2009  rmind branches: 1.12.2;
- Use uvm_lwp_setuarea() instead of directly setting address to lwp_t::l_addr.
- Replace most remaining uses of l_addr with uvm_lwp_getuarea() or lwp_getpcb().
- Amend assembly in ports where it accesses PCB via struct user.
- Rename L_ADDR to L_PCB in few places. Reduce sys/user.h inclusions.
 1.11  26-Nov-2009  matt Kill proc0paddr. Use lwp0.l_addr instead.
 1.10  13-Feb-2009  apb Use "defopt MODULAR" in sys/conf/files, and #include "opt_modular.h"
in all kernel sources that use the MODULAR option.
Proposed in tech-kern on 18 Jan 2009.
 1.9  30-Nov-2008  martin branches: 1.9.4;
As discussed on tech-kern: mutex_init is too heavyweight for early bootstrap
phases, so move the initialization of the ksyms mutex back into main via
a function called ksyms_init. Rename the existing (but quite different)
ksyms_init* variations into ksyms_addsyms_elf() and ksyms_addsyms_explicit()
and adapt machdep code accordingly.
 1.8  12-Nov-2008  ad Remove LKMs and switch to the module framework, pass 1.

Proposed on tech-kern@.
 1.7  11-Nov-2008  dyoung It is not appropriate to call pmf_system_shutdown(9) from
doshutdownhooks(9): shutdown hooks registered by shutdownhook_establish(9)
expect to be called with interrupts disabled, but shutdown hooks
registered with pmf_device_register1(9) expect to be called with
interrupts enabled. So I have made two changes:

1 Do not call pmf_system_shutdown() from doshutdownhooks(). Instead,
change every call to doshutdownhooks() to a call to doshutdownhooks()
followed by a call to pmf_system_shutdown(). No functional change
is intended by this change.

2 Make i386 re-enable interrupts briefly while it calls
pmf_system_shutdown(). I leave it to others either to fix the
other ports, or to factor out some MI shutdown code, as joerg@
suggests, and fix that. Note that a functional change *is* intended
by this change.

I hope that this patch will stop us from flip-flopping between
calling doshutdownhooks() and pmf_system_shutdown() sometimes with
and sometimes without interrupts enabled.
 1.6  02-Jul-2008  ad branches: 1.6.2; 1.6.4; 1.6.14;
Replce exec_map with a pool. Proposed on tech-kern@, reviewed by chs@.
 1.5  17-Oct-2007  garbled branches: 1.5.16; 1.5.20; 1.5.22; 1.5.24;
Merge the ppcoea-renovation branch to HEAD.

This branch was a major cleanup and rototill of many of the various OEA
cpu based PPC ports that focused on sharing as much code as possible
between the various ports to eliminate near-identical copies of files in
every tree. Additionally there is a new PIC system that unifies the
interface to interrupt code for all different OEA ppc arches. The work
for this branch was done by a variety of people, too long to list here.

TODO:
bebox still needs work to complete the transition to -renovation.
ofppc still needs a bunch of work, which I will be looking at.
ev64260 still needs to be renovated
amigappc was not attempted.

NOTES:
pmppc was removed as an arch, and moved to a evbppc target.
 1.4  04-Mar-2007  christos branches: 1.4.2; 1.4.10; 1.4.18; 1.4.20; 1.4.22; 1.4.24;
Kill caddr_t; there will be some MI fallout, but it will be fixed shortly.
 1.3  22-Feb-2007  thorpej TRUE -> true, FALSE -> false
 1.2  09-Feb-2007  ad branches: 1.2.2;
Merge newlock2 to head.
 1.1  02-Dec-2006  freza branches: 1.1.2; 1.1.4; 1.1.6;
Welcome to evbppc/virtex -- port to Xilinx Virtex series FPGA's with embedded
ibm405d5 core.

OK by Simon Burge
 1.1.6.3  30-Jan-2007  ad Remove support for SA. Ok core@.
 1.1.6.2  12-Jan-2007  ad Sync with head.
 1.1.6.1  02-Dec-2006  ad file machdep.c was added on branch newlock2 on 2007-01-12 01:00:47 +0000
 1.1.4.5  27-Oct-2007  yamt sync with head.
 1.1.4.4  03-Sep-2007  yamt sync with head.
 1.1.4.3  26-Feb-2007  yamt sync with head.
 1.1.4.2  30-Dec-2006  yamt sync with head.
 1.1.4.1  02-Dec-2006  yamt file machdep.c was added on branch yamt-lazymbuf on 2006-12-30 20:45:54 +0000
 1.1.2.2  10-Dec-2006  yamt sync with head.
 1.1.2.1  02-Dec-2006  yamt file machdep.c was added on branch yamt-splraiseipl on 2006-12-10 07:15:53 +0000
 1.2.2.2  12-Mar-2007  rmind Sync with HEAD.
 1.2.2.1  27-Feb-2007  yamt - sync with head.
- move sched_changepri back to kern_synch.c as it doesn't know PPQ anymore.
 1.4.24.1  25-Oct-2007  bouyer Sync with HEAD.
 1.4.22.1  18-Oct-2007  yamt sync with head.
 1.4.20.1  06-Nov-2007  matt sync with HEAD
 1.4.18.1  26-Oct-2007  joerg Sync with HEAD.

Follow the merge of pmap.c on i386 and amd64 and move
pmap_init_tmp_pgtbl into arch/x86/x86/pmap.c. Modify the ACPI wakeup
code to restore CR4 before jumping back into kernel space as the large
page option might cover that.
 1.4.10.1  28-May-2007  freza Add KGDB support to evbppc/virtex port. From Jean-Francois Boudreault,
cosmetics by me.

While there, generalize virtex_console_tag() to virtex_bus_space_tag()
and fix one instance of yamt-idlelwp fallout (ci_need_resched renamed
to ci_want_resched).

XXX Only compile tested since my access to suitable Virtex HW is sporadic
XXX at best.
 1.4.2.1  23-Oct-2007  ad Sync with head.
 1.5.24.1  03-Jul-2008  simonb Sync with head.
 1.5.22.1  18-Sep-2008  wrstuden Sync with wrstuden-revivesa-base-2.
 1.5.20.2  11-Mar-2010  yamt sync with head
 1.5.20.1  04-May-2009  yamt sync with head.
 1.5.16.2  17-Jan-2009  mjf Sync with HEAD.
 1.5.16.1  02-Jul-2008  mjf Sync with HEAD.
 1.6.14.1  07-Jan-2011  matt Deal with the splitting of <spr.h>
 1.6.4.2  03-Mar-2009  skrll Sync with HEAD.
 1.6.4.1  19-Jan-2009  skrll Sync with HEAD.
 1.6.2.1  13-Dec-2008  haad Update haad-dm branch to haad-dm-base2.
 1.9.4.1  13-May-2009  jym Sync with HEAD.

Commit is split, to avoid a "too many arguments" protocol error.
 1.12.2.1  30-Apr-2010  uebayasi Sync with HEAD.
 1.14.4.1  06-Jun-2011  jruoho Sync with HEAD.
 1.14.2.1  05-Mar-2011  rmind sync with head
 1.15.4.1  23-Jun-2011  cherry Catchup with rmind-uvmplock merge.
 1.20.2.1  30-Oct-2012  yamt sync with head
 1.21.40.2  08-Apr-2020  martin Merge changes from current as of 20200406
 1.21.40.1  10-Jun-2019  christos Sync with HEAD
 1.21.38.1  28-Jul-2018  pgoyette Sync with HEAD
 1.25.4.1  03-Apr-2021  thorpej Sync with HEAD.
 1.25.2.1  03-Apr-2021  thorpej Sync with HEAD.

RSS XML Feed