Page MenuHomeFreeBSD

D20008.id56488.diff
No OneTemporary

D20008.id56488.diff

Index: sys/conf/Makefile.powerpc
===================================================================
--- sys/conf/Makefile.powerpc
+++ sys/conf/Makefile.powerpc
@@ -47,7 +47,9 @@
LDFLAGS+= -pie
# Workaround module metadata parsing in bootloader
+.if ${LINKER_TYPE} == "lld"
LDFLAGS+= --apply-dynamic-relocs
+.endif
.if !empty(DDB_ENABLED)
CFLAGS+= -fno-omit-frame-pointer
Index: sys/powerpc/pseries/phyp-hvcall.S
===================================================================
--- sys/powerpc/pseries/phyp-hvcall.S
+++ sys/powerpc/pseries/phyp-hvcall.S
@@ -36,8 +36,13 @@
ASENTRY(phyp_hcall)
mflr %r0
std %r0,16(%r1)
+#if defined(_CALL_ELF) && _CALL_ELF == 2
+ ld %r11,96(%r1) /* Last couple args into volatile regs*/
+ ld %r12,104(%r1)
+#else
ld %r11,112(%r1) /* Last couple args into volatile regs*/
ld %r12,120(%r1)
+#endif
hc /* invoke the hypervisor */
ld %r0,16(%r1)
mtlr %r0
Index: sys/powerpc/pseries/phyp_llan.c
===================================================================
--- sys/powerpc/pseries/phyp_llan.c
+++ sys/powerpc/pseries/phyp_llan.c
@@ -425,7 +425,7 @@
{
struct llan_softc *sc = xsc;
uint64_t bufdescs[6];
- int i;
+ int i, err;
bzero(bufdescs, sizeof(bufdescs));
@@ -435,7 +435,7 @@
bufdescs[i] |= segs[i].ds_addr;
}
- phyp_hcall(H_SEND_LOGICAL_LAN, sc->unit, bufdescs[0],
+ err = phyp_hcall(H_SEND_LOGICAL_LAN, sc->unit, bufdescs[0],
bufdescs[1], bufdescs[2], bufdescs[3], bufdescs[4], bufdescs[5], 0);
/*
* The hypercall returning implies completion -- or that the call will
@@ -443,6 +443,10 @@
* H_BUSY based on the continuation token in R4. For now, just drop
* the packet in such cases.
*/
+ if (err == H_SUCCESS)
+ if_inc_counter(sc->ifp, IFCOUNTER_OPACKETS, 1);
+ else
+ if_inc_counter(sc->ifp, IFCOUNTER_OERRORS, 1);
}
static void

File Metadata

Mime Type
text/plain
Expires
Tue, Nov 19, 4:26 PM (20 h, 45 m)
Storage Engine
blob
Storage Format
Raw Data
Storage Handle
14719680
Default Alt Text
D20008.id56488.diff (1 KB)

Event Timeline