aboutsummaryrefslogtreecommitdiff
path: root/sys/compat
diff options
context:
space:
mode:
Diffstat (limited to 'sys/compat')
-rw-r--r--sys/compat/freebsd32/freebsd32_syscall.h2
-rw-r--r--sys/compat/freebsd32/freebsd32_syscalls.c1
-rw-r--r--sys/compat/freebsd32/freebsd32_sysent.c1
-rw-r--r--sys/compat/freebsd32/syscalls.conf3
-rw-r--r--sys/compat/linuxkpi/common/include/linux/bitops.h9
-rw-r--r--sys/compat/linuxkpi/common/include/net/mac80211.h14
-rw-r--r--sys/compat/linuxkpi/common/src/linux_80211_macops.c12
7 files changed, 22 insertions, 20 deletions
diff --git a/sys/compat/freebsd32/freebsd32_syscall.h b/sys/compat/freebsd32/freebsd32_syscall.h
index 54063150eef9..f8ef7e4a20d3 100644
--- a/sys/compat/freebsd32/freebsd32_syscall.h
+++ b/sys/compat/freebsd32/freebsd32_syscall.h
@@ -517,4 +517,4 @@
#define FREEBSD32_SYS_setgroups 596
#define FREEBSD32_SYS_jail_attach_jd 597
#define FREEBSD32_SYS_jail_remove_jd 598
-#define FREEBSD32_SYS_MAXSYSCALL 599
+#define FREEBSD32_SYS_MAXSYSCALL 600
diff --git a/sys/compat/freebsd32/freebsd32_syscalls.c b/sys/compat/freebsd32/freebsd32_syscalls.c
index f7cc4c284e4d..645cdccbc02d 100644
--- a/sys/compat/freebsd32/freebsd32_syscalls.c
+++ b/sys/compat/freebsd32/freebsd32_syscalls.c
@@ -604,4 +604,5 @@ const char *freebsd32_syscallnames[] = {
"setgroups", /* 596 = setgroups */
"jail_attach_jd", /* 597 = jail_attach_jd */
"jail_remove_jd", /* 598 = jail_remove_jd */
+ "#599", /* 599 = kexec_load */
};
diff --git a/sys/compat/freebsd32/freebsd32_sysent.c b/sys/compat/freebsd32/freebsd32_sysent.c
index 18f809ef04e3..240b54ae9011 100644
--- a/sys/compat/freebsd32/freebsd32_sysent.c
+++ b/sys/compat/freebsd32/freebsd32_sysent.c
@@ -666,4 +666,5 @@ struct sysent freebsd32_sysent[] = {
{ .sy_narg = AS(setgroups_args), .sy_call = (sy_call_t *)sys_setgroups, .sy_auevent = AUE_SETGROUPS, .sy_flags = 0, .sy_thrcnt = SY_THR_STATIC }, /* 596 = setgroups */
{ .sy_narg = AS(jail_attach_jd_args), .sy_call = (sy_call_t *)sys_jail_attach_jd, .sy_auevent = AUE_JAIL_ATTACH, .sy_flags = 0, .sy_thrcnt = SY_THR_STATIC }, /* 597 = jail_attach_jd */
{ .sy_narg = AS(jail_remove_jd_args), .sy_call = (sy_call_t *)sys_jail_remove_jd, .sy_auevent = AUE_JAIL_REMOVE, .sy_flags = 0, .sy_thrcnt = SY_THR_STATIC }, /* 598 = jail_remove_jd */
+ { .sy_narg = 0, .sy_call = (sy_call_t *)nosys, .sy_auevent = AUE_NULL, .sy_flags = 0, .sy_thrcnt = SY_THR_ABSENT }, /* 599 = freebsd32_kexec_load */
};
diff --git a/sys/compat/freebsd32/syscalls.conf b/sys/compat/freebsd32/syscalls.conf
index 72006631c89e..9308d1529c63 100644
--- a/sys/compat/freebsd32/syscalls.conf
+++ b/sys/compat/freebsd32/syscalls.conf
@@ -48,10 +48,11 @@ obsol="getkerninfo"
# Syscalls without implementations:
# __mac_* - should be implemented
# afs3_syscall - requires significant porting, probably doesn't make sense
+# kexec_load - makes little sense on 64-bit hardware
# kldsym - can't be implemented (kernel virtual addresses can't fit in 32-bits)
# lgetfh - should be implemented
# nlm_syscall - requires significant porting, probably doesn't make sense
# nnpfs_syscall - requires significant porting, probably doesn't make sense
# ntp_gettime - should be implemented
# thr_create - was unimplemented and appears to be unnecessary
-unimpl="afs3_syscall kldsym __mac_get_proc __mac_set_proc __mac_get_fd __mac_get_file __mac_set_fd __mac_set_file __mac_get_pid __mac_get_link __mac_set_link __mac_execve nfssvc nlm_syscall ntp_gettime lgetfh nnpfs_syscall thr_create"
+unimpl="afs3_syscall kexec_load kldsym __mac_get_proc __mac_set_proc __mac_get_fd __mac_get_file __mac_set_fd __mac_set_file __mac_get_pid __mac_get_link __mac_set_link __mac_execve nfssvc nlm_syscall ntp_gettime lgetfh nnpfs_syscall thr_create"
diff --git a/sys/compat/linuxkpi/common/include/linux/bitops.h b/sys/compat/linuxkpi/common/include/linux/bitops.h
index 00dd1f9a1ec0..a5a7abd55287 100644
--- a/sys/compat/linuxkpi/common/include/linux/bitops.h
+++ b/sys/compat/linuxkpi/common/include/linux/bitops.h
@@ -37,13 +37,8 @@
#define BIT(nr) (1UL << (nr))
#define BIT_ULL(nr) (1ULL << (nr))
-#ifdef __LP64__
-#define BITS_PER_LONG 64
-#else
-#define BITS_PER_LONG 32
-#endif
-
-#define BITS_PER_LONG_LONG 64
+#define BITS_PER_LONG (__SIZEOF_LONG__ * __CHAR_BIT__)
+#define BITS_PER_LONG_LONG (__SIZEOF_LONG_LONG__ * __CHAR_BIT__)
#define BITMAP_FIRST_WORD_MASK(start) (~0UL << ((start) % BITS_PER_LONG))
#define BITMAP_LAST_WORD_MASK(n) (~0UL >> (BITS_PER_LONG - (n)))
diff --git a/sys/compat/linuxkpi/common/include/net/mac80211.h b/sys/compat/linuxkpi/common/include/net/mac80211.h
index 523836b52a40..ee1ace3684de 100644
--- a/sys/compat/linuxkpi/common/include/net/mac80211.h
+++ b/sys/compat/linuxkpi/common/include/net/mac80211.h
@@ -956,7 +956,7 @@ struct ieee80211_ops {
int (*start)(struct ieee80211_hw *);
void (*stop)(struct ieee80211_hw *, bool);
- int (*config)(struct ieee80211_hw *, u32);
+ int (*config)(struct ieee80211_hw *, int, u32);
void (*reconfig_complete)(struct ieee80211_hw *, enum ieee80211_reconfig_type);
void (*prep_add_interface)(struct ieee80211_hw *, enum nl80211_iftype);
@@ -983,7 +983,7 @@ struct ieee80211_ops {
void (*flush)(struct ieee80211_hw *, struct ieee80211_vif *, u32, bool);
void (*flush_sta)(struct ieee80211_hw *, struct ieee80211_vif *, struct ieee80211_sta *);
- int (*set_frag_threshold)(struct ieee80211_hw *, u32);
+ int (*set_frag_threshold)(struct ieee80211_hw *, int, u32);
void (*sync_rx_queues)(struct ieee80211_hw *);
@@ -1026,8 +1026,8 @@ struct ieee80211_ops {
void (*unassign_vif_chanctx)(struct ieee80211_hw *, struct ieee80211_vif *, struct ieee80211_bss_conf *, struct ieee80211_chanctx_conf *);
int (*switch_vif_chanctx)(struct ieee80211_hw *, struct ieee80211_vif_chanctx_switch *, int, enum ieee80211_chanctx_switch_mode);
- int (*get_antenna)(struct ieee80211_hw *, u32 *, u32 *);
- int (*set_antenna)(struct ieee80211_hw *, u32, u32);
+ int (*get_antenna)(struct ieee80211_hw *, int, u32 *, u32 *);
+ int (*set_antenna)(struct ieee80211_hw *, int, u32, u32);
int (*remain_on_channel)(struct ieee80211_hw *, struct ieee80211_vif *, struct ieee80211_channel *, int, enum ieee80211_roc_type);
int (*cancel_remain_on_channel)(struct ieee80211_hw *, struct ieee80211_vif *);
@@ -1038,7 +1038,7 @@ struct ieee80211_ops {
void (*bss_info_changed)(struct ieee80211_hw *, struct ieee80211_vif *, struct ieee80211_bss_conf *, u64);
void (*link_info_changed)(struct ieee80211_hw *, struct ieee80211_vif *, struct ieee80211_bss_conf *, u64);
- int (*set_rts_threshold)(struct ieee80211_hw *, u32);
+ int (*set_rts_threshold)(struct ieee80211_hw *, int, u32);
void (*event_callback)(struct ieee80211_hw *, struct ieee80211_vif *, const struct ieee80211_event *);
int (*get_survey)(struct ieee80211_hw *, int, struct survey_info *);
int (*get_ftm_responder_stats)(struct ieee80211_hw *, struct ieee80211_vif *, struct cfg80211_ftm_responder_stats *);
@@ -1048,7 +1048,7 @@ struct ieee80211_ops {
void (*offset_tsf)(struct ieee80211_hw *, struct ieee80211_vif *, s64);
int (*set_bitrate_mask)(struct ieee80211_hw *, struct ieee80211_vif *, const struct cfg80211_bitrate_mask *);
- void (*set_coverage_class)(struct ieee80211_hw *, s16);
+ void (*set_coverage_class)(struct ieee80211_hw *, int, s16);
int (*set_tim)(struct ieee80211_hw *, struct ieee80211_sta *, bool);
int (*set_key)(struct ieee80211_hw *, enum set_key_cmd, struct ieee80211_vif *, struct ieee80211_sta *, struct ieee80211_key_conf *);
@@ -2406,7 +2406,7 @@ ieee80211_remove_key(struct ieee80211_key_conf *key)
static __inline struct ieee80211_key_conf *
ieee80211_gtk_rekey_add(struct ieee80211_vif *vif,
- struct ieee80211_key_conf *key, int link_id)
+ uint16_t keyidx, uint8_t *key, size_t keylen, int link_id)
{
TODO();
return (NULL);
diff --git a/sys/compat/linuxkpi/common/src/linux_80211_macops.c b/sys/compat/linuxkpi/common/src/linux_80211_macops.c
index 04f9f6d7e7fc..d9e82a6d64ee 100644
--- a/sys/compat/linuxkpi/common/src/linux_80211_macops.c
+++ b/sys/compat/linuxkpi/common/src/linux_80211_macops.c
@@ -102,7 +102,8 @@ lkpi_80211_mo_get_antenna(struct ieee80211_hw *hw, u32 *txs, u32 *rxs)
}
LKPI_80211_TRACE_MO("hw %p", hw);
- error = lhw->ops->get_antenna(hw, txs, rxs);
+ LKPI_80211_TRACE_MO("TODO link/radio_idx");
+ error = lhw->ops->get_antenna(hw, 0, txs, rxs);
out:
return (error);
@@ -121,7 +122,8 @@ lkpi_80211_mo_set_frag_threshold(struct ieee80211_hw *hw, uint32_t frag_th)
}
LKPI_80211_TRACE_MO("hw %p frag_th %u", hw, frag_th);
- error = lhw->ops->set_frag_threshold(hw, frag_th);
+ LKPI_80211_TRACE_MO("TODO link/radio_idx");
+ error = lhw->ops->set_frag_threshold(hw, 0, frag_th);
out:
return (error);
@@ -140,7 +142,8 @@ lkpi_80211_mo_set_rts_threshold(struct ieee80211_hw *hw, uint32_t rts_th)
}
LKPI_80211_TRACE_MO("hw %p rts_th %u", hw, rts_th);
- error = lhw->ops->set_rts_threshold(hw, rts_th);
+ LKPI_80211_TRACE_MO("TODO link/radio_idx");
+ error = lhw->ops->set_rts_threshold(hw, 0, rts_th);
out:
return (error);
@@ -436,7 +439,8 @@ lkpi_80211_mo_config(struct ieee80211_hw *hw, uint32_t changed)
}
LKPI_80211_TRACE_MO("hw %p changed %u", hw, changed);
- error = lhw->ops->config(hw, changed);
+ LKPI_80211_TRACE_MO("TODO link/radio_idx");
+ error = lhw->ops->config(hw, 0, changed);
out:
return (error);