PERFORCE change 94436 for review
Kip Macy
kmacy at FreeBSD.org
Sun Apr 2 04:23:36 UTC 2006
http://perforce.freebsd.org/chv.cgi?CH=94436
Change 94436 by kmacy at kmacy_storage:sun4v_work on 2006/04/02 04:22:44
add hvio_config_put fix hcall implementation
Affected files ...
.. //depot/projects/kmacy_sun4v/src/sys/sun4v/include/hypervisor_api.h#7 edit
.. //depot/projects/kmacy_sun4v/src/sys/sun4v/sun4v/hcall.S#6 edit
Differences ...
==== //depot/projects/kmacy_sun4v/src/sys/sun4v/include/hypervisor_api.h#7 (text+ko) ====
@@ -96,6 +96,8 @@
uint64_t *err_flag, uint64_t *data);
extern uint64_t hvio_config_get(devhandle_t dev_hdl, uint64_t pci_device,
uint64_t r_addr, uint64_t size, uint32_t *data);
+extern uint64_t hvio_config_put(devhandle_t dev_hdl, uint64_t pci_device,
+ uint64_t r_addr, uint64_t size, uint32_t data, uint32_t err_flags);
extern void hv_magic_trap_on(void);
extern void hv_magic_trap_off(void);
==== //depot/projects/kmacy_sun4v/src/sys/sun4v/sun4v/hcall.S#6 (text+ko) ====
@@ -33,9 +33,12 @@
#include <machine/asm.h>
#include <machine/asi.h>
+#include <machine/asmacros.h>
#include <machine/hypervisor_api.h>
#include <machine/pstate.h>
+#include "assym.s"
+
#if defined(lint)
#error lint
#endif
@@ -524,6 +527,20 @@
SET_SIZE(hv_cpu_qconf)
/*
+ * CPU Mondo Send
+ * arg0-1 cpulist (%o0, %o1)
+ * arg2 data (%o2)
+ *
+ */
+ ENTRY(hv_cpu_mondo_send)
+ ldx [PCPU(MONDO_DATA_RA)], %o2
+ mov HV_INTR_SEND, %o5
+ ta FAST_TRAP
+ retl
+ membar #Sync
+ END(hv_cpu_mondo_send)
+
+ /*
* arg0 - devhandle
* arg1 - pci_device
* arg2 - pci_config_offset
@@ -557,6 +574,7 @@
ENTRY(hvio_config_put)
mov HVIO_CONFIG_PUT, %o5
ta FAST_TRAP
+ stuw %o1, [%o5]
retl
nop
SET_SIZE(hvio_config_put)
More information about the p4-projects
mailing list