summaryrefslogtreecommitdiff
path: root/usr/src/uts/sun4/os/machdep.c
diff options
context:
space:
mode:
Diffstat (limited to 'usr/src/uts/sun4/os/machdep.c')
-rw-r--r--usr/src/uts/sun4/os/machdep.c60
1 files changed, 60 insertions, 0 deletions
diff --git a/usr/src/uts/sun4/os/machdep.c b/usr/src/uts/sun4/os/machdep.c
index 821999a3c0..2dd3544868 100644
--- a/usr/src/uts/sun4/os/machdep.c
+++ b/usr/src/uts/sun4/os/machdep.c
@@ -56,7 +56,11 @@
#include <sys/sysmacros.h>
#include <sys/promif.h>
#include <sys/pool_pset.h>
+#include <sys/mem.h>
+#include <sys/dumphdr.h>
#include <vm/seg_kmem.h>
+#include <sys/hold_page.h>
+#include <sys/cpu.h>
int maxphys = MMU_PAGESIZE * 16; /* 128k */
int klustsize = MMU_PAGESIZE * 16; /* 128k */
@@ -676,6 +680,7 @@ void
mach_kdi_init(kdi_t *kdi)
{
kdi->kdi_plat_call = kdi_plat_call;
+ kdi->kdi_kmdb_enter = kmdb_enter;
kdi->mkdi_cpu_index = kdi_cpu_index;
kdi->mkdi_trap_vatotte = kdi_trap_vatotte;
kdi->mkdi_kernpanic = kdi_kernpanic;
@@ -774,3 +779,58 @@ get_cpu_mstate(cpu_t *cpu, hrtime_t *times)
times[CMS_SYSTEM] += intracct[i];
}
}
+
+void
+mach_cpu_pause(volatile char *safe)
+{
+ /*
+ * This cpu is now safe.
+ */
+ *safe = PAUSE_WAIT;
+ membar_enter(); /* make sure stores are flushed */
+
+ /*
+ * Now we wait. When we are allowed to continue, safe
+ * will be set to PAUSE_IDLE.
+ */
+ while (*safe != PAUSE_IDLE)
+ SMT_PAUSE();
+}
+
+/*ARGSUSED*/
+int
+plat_mem_valid_page(uintptr_t pageaddr, uio_rw_t rw)
+{
+ return (0);
+}
+
+int
+dump_plat_addr()
+{
+ return (0);
+}
+
+void
+dump_plat_pfn()
+{
+}
+
+/* ARGSUSED */
+int
+dump_plat_data(void *dump_cdata)
+{
+ return (0);
+}
+
+/* ARGSUSED */
+int
+plat_hold_page(pfn_t pfn, int lock, page_t **pp_ret)
+{
+ return (PLAT_HOLD_OK);
+}
+
+/* ARGSUSED */
+void
+plat_release_page(page_t *pp)
+{
+}