git: d889926162b4 - main - isci: Remove dead code

2025-02-02 Thread Warner Losh
The branch main has been updated by imp:

URL: 
https://cgit.FreeBSD.org/src/commit/?id=d889926162b4a8575bd554416b5f1a987ce68a83

commit d889926162b4a8575bd554416b5f1a987ce68a83
Author: Warner Losh 
AuthorDate: 2025-02-02 17:18:04 +
Commit: Warner Losh 
CommitDate: 2025-02-02 17:18:35 +

isci: Remove dead code

This code hasn't compiled for years, so just remove it.

PR: 229954
Sponsored by: Netflix
---
 sys/dev/isci/scil/sci_abstract_list.c | 7 ---
 1 file changed, 7 deletions(-)

diff --git a/sys/dev/isci/scil/sci_abstract_list.c 
b/sys/dev/isci/scil/sci_abstract_list.c
index 7c02e0b17156..1948043e2aed 100644
--- a/sys/dev/isci/scil/sci_abstract_list.c
+++ b/sys/dev/isci/scil/sci_abstract_list.c
@@ -230,13 +230,6 @@ void  sci_abstract_list_print(
 
while (alElement_p != NULL)
{
-#ifdef UNIT_TEST_DEBUG
-  /* Check to see if we found the object for which we are searching. */
-  printf("ITEM next_p 0x%x prev_p 0x%x obj_p 0x%x, 0x%x\n",
- alElement_p->next_p,
- alElement_p->previous_p,
- (U32*) (alElement_p->object_p));
-#endif
   alElement_p = alElement_p->next_p;
}
 }



git: 6f659c9a49a0 - main - pci: Change device to function

2025-02-02 Thread Warner Losh
The branch main has been updated by imp:

URL: 
https://cgit.FreeBSD.org/src/commit/?id=6f659c9a49a01b6451edc169534375479f402f6a

commit 6f659c9a49a01b6451edc169534375479f402f6a
Author: Warner Losh 
AuthorDate: 2025-02-02 17:25:14 +
Commit: Warner Losh 
CommitDate: 2025-02-02 17:26:04 +

pci: Change device to function

It's functions that are placed into D3 for these value, not the device.

PR: 259703
Sponsored by:   Netflix
---
 sys/dev/pci/pci.c | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

diff --git a/sys/dev/pci/pci.c b/sys/dev/pci/pci.c
index edebb718ec53..84db16587bde 100644
--- a/sys/dev/pci/pci.c
+++ b/sys/dev/pci/pci.c
@@ -353,8 +353,8 @@ static int pci_do_power_nodriver = 0;
 SYSCTL_INT(_hw_pci, OID_AUTO, do_power_nodriver, CTLFLAG_RWTUN,
 &pci_do_power_nodriver, 0,
 "Place a function into D3 state when no driver attaches to it.  0 means"
-" disable.  1 means conservatively place devices into D3 state.  2 means"
-" aggressively place devices into D3 state.  3 means put absolutely"
+" disable.  1 means conservatively place function into D3 state.  2 means"
+" aggressively place function into D3 state.  3 means put absolutely"
 " everything in D3 state.");
 
 int pci_do_power_resume = 1;



git: ead758a67a6b - main - pms: Fix always true condition

2025-02-02 Thread Warner Losh
The branch main has been updated by imp:

URL: 
https://cgit.FreeBSD.org/src/commit/?id=ead758a67a6b584293cfe02cd6c5cbefb6a4926f

commit ead758a67a6b584293cfe02cd6c5cbefb6a4926f
Author: Svyatoslav 
AuthorDate: 2025-02-02 16:35:51 +
Commit: Warner Losh 
CommitDate: 2025-02-02 16:35:51 +

pms: Fix always true condition

Although this is vendor code, and apparently abandoned vendor code at
that, this is clearly a mistake and always true. It's unclear how to
contribute back to the upstream at this point, alas.

PR: 217745
Reviewed by: imp
---
 sys/dev/pms/RefTisa/sallsdk/spc/sampirsp.c | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/sys/dev/pms/RefTisa/sallsdk/spc/sampirsp.c 
b/sys/dev/pms/RefTisa/sallsdk/spc/sampirsp.c
index 541940c5fda8..6a45e954d315 100644
--- a/sys/dev/pms/RefTisa/sallsdk/spc/sampirsp.c
+++ b/sys/dev/pms/RefTisa/sallsdk/spc/sampirsp.c
@@ -7217,7 +7217,7 @@ GLOBAL bit32 mpiDekManagementRsp(
  agEvent.encryptOperation = OSSA_HW_ENCRYPT_DEK_INVALIDTE;
   }
   agEvent.status = status;
-  if (status == OSSA_MPI_ENC_ERR_ILLEGAL_DEK_PARAM || 
OSSA_MPI_ERR_DEK_MANAGEMENT_DEK_UNWRAP_FAIL)
+  if (status == OSSA_MPI_ENC_ERR_ILLEGAL_DEK_PARAM || status == 
OSSA_MPI_ERR_DEK_MANAGEMENT_DEK_UNWRAP_FAIL)
   {
 agEvent.eq = errorQualifier;
   }



git: 89baab967181 - main - Arm64/GicV3: Change default cache mode from GITS_BASER_CACHE_WAWB to GITS_BASER_CACHE_RAWAWB

2025-02-02 Thread Poul-Henning Kamp
The branch main has been updated by phk:

URL: 
https://cgit.FreeBSD.org/src/commit/?id=89baab96718180c1914f6246ef56f9294330915c

commit 89baab96718180c1914f6246ef56f9294330915c
Author: Poul-Henning Kamp 
AuthorDate: 2025-02-02 19:00:57 +
Commit: Poul-Henning Kamp 
CommitDate: 2025-02-02 19:00:57 +

Arm64/GicV3: Change default cache mode from GITS_BASER_CACHE_WAWB to 
GITS_BASER_CACHE_RAWAWB

For not yet determined reasons, the Qualcom Snapdragon Elite will
take no other value than RAWAWB, but we're basically OK with that,
because that should be the most performant setting.  Investigations
are continuing.

This patch makes the Lenovo T14sGen6 laptop to boot to multiuser,
but very little else works.
---
 sys/arm64/arm64/gicv3_its.c | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/sys/arm64/arm64/gicv3_its.c b/sys/arm64/arm64/gicv3_its.c
index 4b554f2dc30a..9224e03dec52 100644
--- a/sys/arm64/arm64/gicv3_its.c
+++ b/sys/arm64/arm64/gicv3_its.c
@@ -532,7 +532,7 @@ gicv3_its_table_init(device_t dev, struct gicv3_its_softc 
*sc)
cache = 0;
} else {
devbits = GITS_TYPER_DEVB(gic_its_read_8(sc, GITS_TYPER));
-   cache = GITS_BASER_CACHE_WAWB;
+   cache = GITS_BASER_CACHE_RAWAWB;
}
sc->sc_devbits = devbits;
share = GITS_BASER_SHARE_IS;



git: 6befd3511105 - main - kyua: Support require.diskspace ATF metadata

2025-02-02 Thread Igor Ostapenko
The branch main has been updated by igoro:

URL: 
https://cgit.FreeBSD.org/src/commit/?id=6befd3511105a17decdafbf9d3f55324c83aaea1

commit 6befd3511105a17decdafbf9d3f55324c83aaea1
Author: Igor Ostapenko 
AuthorDate: 2025-02-02 19:14:55 +
Commit: Igor Ostapenko 
CommitDate: 2025-02-02 19:14:55 +

kyua: Support require.diskspace ATF metadata

Reviewed by:ngie
MFC after:  1 month
Differential Revision:  https://reviews.freebsd.org/D48333
---
 contrib/kyua/doc/kyuafile.5.in|  3 ++-
 contrib/kyua/engine/atf_list.cpp  |  2 ++
 contrib/kyua/engine/atf_list_test.cpp | 23 +++
 3 files changed, 27 insertions(+), 1 deletion(-)

diff --git a/contrib/kyua/doc/kyuafile.5.in b/contrib/kyua/doc/kyuafile.5.in
index 4fe5f12fd9b1..ae1e4fe40e32 100644
--- a/contrib/kyua/doc/kyuafile.5.in
+++ b/contrib/kyua/doc/kyuafile.5.in
@@ -282,7 +282,8 @@ ATF:
 .It Va required_disk_space
 Amount of available disk space that the test needs to run successfully.
 .Pp
-ATF: not mapped
+ATF:
+.Va require.diskspace
 .It Va required_files
 Whitespace-separated list of paths that the test requires to exist before
 it can run.
diff --git a/contrib/kyua/engine/atf_list.cpp b/contrib/kyua/engine/atf_list.cpp
index c4f348ada2f6..f6ec20d7709a 100644
--- a/contrib/kyua/engine/atf_list.cpp
+++ b/contrib/kyua/engine/atf_list.cpp
@@ -129,6 +129,8 @@ engine::parse_atf_metadata(const model::properties_map& 
props)
 mdbuilder.set_string("is_exclusive", value);
 } else if (name == "require.config") {
 mdbuilder.set_string("required_configs", value);
+} else if (name == "require.diskspace") {
+mdbuilder.set_string("required_disk_space", value);
 } else if (name == "require.files") {
 mdbuilder.set_string("required_files", value);
 } else if (name == "require.machine") {
diff --git a/contrib/kyua/engine/atf_list_test.cpp 
b/contrib/kyua/engine/atf_list_test.cpp
index 7648ee2c6a80..f3a36ab864f7 100644
--- a/contrib/kyua/engine/atf_list_test.cpp
+++ b/contrib/kyua/engine/atf_list_test.cpp
@@ -67,6 +67,7 @@ ATF_TEST_CASE_BODY(parse_atf_metadata__override_all)
 properties["is.exclusive"] = "true";
 properties["require.arch"] = "i386 x86_64";
 properties["require.config"] = "var1 var2 var3";
+properties["require.diskspace"] = "10g";
 properties["require.files"] = "/file1 /dir/file2";
 properties["require.machine"] = "amd64";
 properties["require.memory"] = "1m";
@@ -95,6 +96,7 @@ ATF_TEST_CASE_BODY(parse_atf_metadata__override_all)
 .set_description("Some text")
 .set_has_cleanup(true)
 .set_is_exclusive(true)
+.set_required_disk_space(units::bytes::parse("10g"))
 .set_required_memory(units::bytes::parse("1m"))
 .set_required_user("root")
 .set_timeout(datetime::delta(123, 0))
@@ -293,6 +295,26 @@ ATF_TEST_CASE_BODY(parse_atf_list__is_exclusive_support)
 }
 
 
+ATF_TEST_CASE_WITHOUT_HEAD(parse_atf_list__disk_space_support);
+ATF_TEST_CASE_BODY(parse_atf_list__disk_space_support)
+{
+const std::string text =
+"Content-Type: application/X-atf-tp; version=\"1\"\n"
+"\n"
+"ident: first\n"
+"require.diskspace: 123M\n";
+std::istringstream input(text);
+const model::test_cases_map tests = engine::parse_atf_list(input);
+
+const model::test_cases_map exp_tests = model::test_cases_map_builder()
+.add("first", model::metadata_builder()
+ .set_required_disk_space(units::bytes::parse("123M"))
+ .build())
+.build();
+ATF_REQUIRE_EQ(exp_tests, tests);
+}
+
+
 ATF_INIT_TEST_CASES(tcs)
 {
 ATF_ADD_TEST_CASE(tcs, parse_atf_metadata__defaults);
@@ -308,4 +330,5 @@ ATF_INIT_TEST_CASES(tcs)
 ATF_ADD_TEST_CASE(tcs, parse_atf_list__one_test_case_invalid_properties);
 ATF_ADD_TEST_CASE(tcs, parse_atf_list__many_test_cases);
 ATF_ADD_TEST_CASE(tcs, parse_atf_list__is_exclusive_support);
+ATF_ADD_TEST_CASE(tcs, parse_atf_list__disk_space_support);
 }



git: 6472c6baee7b - main - sctp: don't specify pr_poll = sopoll_generic

2025-02-02 Thread Gleb Smirnoff
The branch main has been updated by glebius:

URL: 
https://cgit.FreeBSD.org/src/commit/?id=6472c6baee7b7f1069943391ca6d09e595b88445

commit 6472c6baee7b7f1069943391ca6d09e595b88445
Author: Gleb Smirnoff 
AuthorDate: 2025-02-03 05:28:41 +
Commit: Gleb Smirnoff 
CommitDate: 2025-02-03 06:38:18 +

sctp: don't specify pr_poll = sopoll_generic

Trust the framework to set the generic methods.  No functional change.
---
 sys/netinet/sctp_usrreq.c   | 1 -
 sys/netinet6/sctp6_usrreq.c | 1 -
 2 files changed, 2 deletions(-)

diff --git a/sys/netinet/sctp_usrreq.c b/sys/netinet/sctp_usrreq.c
index b9a3be5280ae..7fb7ab3418cf 100644
--- a/sys/netinet/sctp_usrreq.c
+++ b/sys/netinet/sctp_usrreq.c
@@ -7516,7 +7516,6 @@ sctp_peeraddr(struct socket *so, struct sockaddr *sa)
.pr_control =   in_control, \
.pr_close = sctp_close, \
.pr_detach =sctp_close, \
-   .pr_sopoll =sopoll_generic, \
.pr_disconnect = sctp_disconnect,   \
.pr_listen =sctp_listen,\
.pr_peeraddr =  sctp_peeraddr,  \
diff --git a/sys/netinet6/sctp6_usrreq.c b/sys/netinet6/sctp6_usrreq.c
index 0f194821ea94..c0e758e9e12b 100644
--- a/sys/netinet6/sctp6_usrreq.c
+++ b/sys/netinet6/sctp6_usrreq.c
@@ -1094,7 +1094,6 @@ sctp6_getpeeraddr(struct socket *so, struct sockaddr *sa)
.pr_control =   in6_control,\
.pr_close = sctp6_close,\
.pr_detach =sctp6_close,\
-   .pr_sopoll =sopoll_generic, \
.pr_disconnect = sctp_disconnect,   \
.pr_listen =sctp_listen,\
.pr_peeraddr =  sctp6_getpeeraddr,  \



git: 815f2a61bfa4 - main - sockets: removed unused argument from sopoll()

2025-02-02 Thread Gleb Smirnoff
The branch main has been updated by glebius:

URL: 
https://cgit.FreeBSD.org/src/commit/?id=815f2a61bfa43bf46d79b34f081e2fac1dca1d3d

commit 815f2a61bfa43bf46d79b34f081e2fac1dca1d3d
Author: Gleb Smirnoff 
AuthorDate: 2025-02-03 05:36:17 +
Commit: Gleb Smirnoff 
CommitDate: 2025-02-03 06:38:24 +

sockets: removed unused argument from sopoll()
---
 sys/kern/sys_generic.c | 2 +-
 sys/kern/sys_socket.c  | 2 +-
 sys/kern/uipc_domain.c | 3 +--
 sys/kern/uipc_socket.c | 8 +++-
 sys/sys/protosw.h  | 3 +--
 sys/sys/socketvar.h| 6 ++
 6 files changed, 9 insertions(+), 15 deletions(-)

diff --git a/sys/kern/sys_generic.c b/sys/kern/sys_generic.c
index 6fc7d5d2eefa..a3722d771573 100644
--- a/sys/kern/sys_generic.c
+++ b/sys/kern/sys_generic.c
@@ -1817,7 +1817,7 @@ selsocket(struct socket *so, int events, struct timeval 
*tvp, struct thread *td)
 */
for (;;) {
selfdalloc(td, NULL);
-   if (sopoll(so, events, NULL, td) != 0) {
+   if (sopoll(so, events, td) != 0) {
error = 0;
break;
}
diff --git a/sys/kern/sys_socket.c b/sys/kern/sys_socket.c
index 9011aa31c44f..ec9fd615685b 100644
--- a/sys/kern/sys_socket.c
+++ b/sys/kern/sys_socket.c
@@ -288,7 +288,7 @@ soo_poll(struct file *fp, int events, struct ucred 
*active_cred,
if (error)
return (error);
 #endif
-   return (sopoll(so, events, fp->f_cred, td));
+   return (sopoll(so, events, td));
 }
 
 static int
diff --git a/sys/kern/uipc_domain.c b/sys/kern/uipc_domain.c
index c5296f12ba94..0d3c622fa9c0 100644
--- a/sys/kern/uipc_domain.c
+++ b/sys/kern/uipc_domain.c
@@ -177,8 +177,7 @@ pr_soreceive_notsupp(struct socket *so, struct sockaddr 
**paddr,
 }
 
 static int
-pr_sopoll_notsupp(struct socket *so, int events, struct ucred *cred,
-struct thread *td)
+pr_sopoll_notsupp(struct socket *so, int events, struct thread *td)
 {
return (EOPNOTSUPP);
 }
diff --git a/sys/kern/uipc_socket.c b/sys/kern/uipc_socket.c
index 46a7053f2872..accd63642024 100644
--- a/sys/kern/uipc_socket.c
+++ b/sys/kern/uipc_socket.c
@@ -4405,20 +4405,18 @@ sohasoutofband(struct socket *so)
 }
 
 int
-sopoll(struct socket *so, int events, struct ucred *active_cred,
-struct thread *td)
+sopoll(struct socket *so, int events, struct thread *td)
 {
 
/*
 * We do not need to set or assert curvnet as long as everyone uses
 * sopoll_generic().
 */
-   return (so->so_proto->pr_sopoll(so, events, active_cred, td));
+   return (so->so_proto->pr_sopoll(so, events, td));
 }
 
 int
-sopoll_generic(struct socket *so, int events, struct ucred *active_cred,
-struct thread *td)
+sopoll_generic(struct socket *so, int events, struct thread *td)
 {
int revents;
 
diff --git a/sys/sys/protosw.h b/sys/sys/protosw.h
index f9d7e1c4bb69..941d377b1549 100644
--- a/sys/sys/protosw.h
+++ b/sys/sys/protosw.h
@@ -93,8 +93,7 @@ typedef int   pr_sosend_t(struct socket *, struct sockaddr *, 
struct uio *,
struct mbuf *, struct mbuf *, int, struct thread *);
 typedef intpr_soreceive_t(struct socket *, struct sockaddr **,
struct uio *, struct mbuf **, struct mbuf **, int *);
-typedef intpr_sopoll_t(struct socket *, int, struct ucred *,
-   struct thread *);
+typedef intpr_sopoll_t(struct socket *, int, struct thread *);
 typedef void   pr_sosetlabel_t(struct socket *);
 typedef void   pr_close_t(struct socket *);
 typedef intpr_bindat_t(int, struct socket *, struct sockaddr *,
diff --git a/sys/sys/socketvar.h b/sys/sys/socketvar.h
index e818fd3fc757..57209ea5557f 100644
--- a/sys/sys/socketvar.h
+++ b/sys/sys/socketvar.h
@@ -525,10 +525,8 @@ struct socket *
sonewconn(struct socket *head, int connstatus);
 struct socket *
sopeeloff(struct socket *);
-intsopoll(struct socket *so, int events, struct ucred *active_cred,
-   struct thread *td);
-intsopoll_generic(struct socket *so, int events,
-   struct ucred *active_cred, struct thread *td);
+intsopoll(struct socket *so, int events, struct thread *td);
+intsopoll_generic(struct socket *so, int events, struct thread *td);
 intsoreceive(struct socket *so, struct sockaddr **paddr, struct uio *uio,
struct mbuf **mp0, struct mbuf **controlp, int *flagsp);
 intsoreceive_stream(struct socket *so, struct sockaddr **paddr,



git: 9d7fb768543b - main - sockets: garbage collect SB_NOINTR

2025-02-02 Thread Gleb Smirnoff
The branch main has been updated by glebius:

URL: 
https://cgit.FreeBSD.org/src/commit/?id=9d7fb768543bbd1ddcd6a6d7bc2477838c59368f

commit 9d7fb768543bbd1ddcd6a6d7bc2477838c59368f
Author: Gleb Smirnoff 
AuthorDate: 2025-02-01 20:06:21 +
Commit: Gleb Smirnoff 
CommitDate: 2025-02-03 06:38:18 +

sockets: garbage collect SB_NOINTR

Not used.  All socket buffer sleeps are interruptible.
---
 sys/kern/uipc_debug.c| 4 
 sys/kern/uipc_sockbuf.c  | 3 +--
 sys/netsmb/smb_trantcp.c | 6 --
 sys/sys/sockbuf.h| 2 +-
 4 files changed, 2 insertions(+), 13 deletions(-)

diff --git a/sys/kern/uipc_debug.c b/sys/kern/uipc_debug.c
index 83cb7f6dc00a..bbd6c078fd06 100644
--- a/sys/kern/uipc_debug.c
+++ b/sys/kern/uipc_debug.c
@@ -328,10 +328,6 @@ db_print_sbflags(short sb_flags)
db_printf("%sSB_UPCALL", comma ? ", " : "");
comma = 1;
}
-   if (sb_flags & SB_NOINTR) {
-   db_printf("%sSB_NOINTR", comma ? ", " : "");
-   comma = 1;
-   }
if (sb_flags & SB_AIO) {
db_printf("%sSB_AIO", comma ? ", " : "");
comma = 1;
diff --git a/sys/kern/uipc_sockbuf.c b/sys/kern/uipc_sockbuf.c
index 95c7241d5f13..e8d410b00c15 100644
--- a/sys/kern/uipc_sockbuf.c
+++ b/sys/kern/uipc_sockbuf.c
@@ -456,8 +456,7 @@ sbwait(struct socket *so, sb_which which)
sb = sobuf(so, which);
sb->sb_flags |= SB_WAIT;
return (msleep_sbt(&sb->sb_acc, soeventmtx(so, which),
-   (sb->sb_flags & SB_NOINTR) ? PSOCK : PSOCK | PCATCH, "sbwait",
-   sb->sb_timeo, 0, 0));
+   PSOCK | PCATCH, "sbwait", sb->sb_timeo, 0, 0));
 }
 
 /*
diff --git a/sys/netsmb/smb_trantcp.c b/sys/netsmb/smb_trantcp.c
index f19eea45f265..fbbf987367d8 100644
--- a/sys/netsmb/smb_trantcp.c
+++ b/sys/netsmb/smb_trantcp.c
@@ -161,12 +161,6 @@ nb_connect_in(struct nbpcb *nbp, struct sockaddr_in *to, 
struct thread *td)
goto bad;
nb_setsockopt_int(so, SOL_SOCKET, SO_KEEPALIVE, 1);
nb_setsockopt_int(so, IPPROTO_TCP, TCP_NODELAY, 1);
-   SOCKBUF_LOCK(&so->so_rcv);
-   so->so_rcv.sb_flags &= ~SB_NOINTR;
-   SOCKBUF_UNLOCK(&so->so_rcv);
-   SOCKBUF_LOCK(&so->so_snd);
-   so->so_snd.sb_flags &= ~SB_NOINTR;
-   SOCKBUF_UNLOCK(&so->so_snd);
error = soconnect(so, (struct sockaddr*)to, td);
if (error)
goto bad;
diff --git a/sys/sys/sockbuf.h b/sys/sys/sockbuf.h
index fd503d021282..73dd7afa371f 100644
--- a/sys/sys/sockbuf.h
+++ b/sys/sys/sockbuf.h
@@ -40,7 +40,7 @@
 #defineSB_SEL  0x08/* someone is selecting */
 #defineSB_ASYNC0x10/* ASYNC I/O, need signals */
 #defineSB_UPCALL   0x20/* someone wants an upcall */
-#defineSB_NOINTR   0x40/* operations not interruptible 
*/
+/* was SB_NOINTR   0x40*/
 #defineSB_AIO  0x80/* AIO operations queued */
 #defineSB_KNOTE0x100   /* kernel note attached */
 #defineSB_NOCOALESCE   0x200   /* don't coalesce new data into 
existing mbufs */



git: b0580c7a6742 - main - sockets: remove empty shim function sopoll()

2025-02-02 Thread Gleb Smirnoff
The branch main has been updated by glebius:

URL: 
https://cgit.FreeBSD.org/src/commit/?id=b0580c7a67423efb0c2bff7081ff9747d257c830

commit b0580c7a67423efb0c2bff7081ff9747d257c830
Author: Gleb Smirnoff 
AuthorDate: 2025-02-03 05:46:13 +
Commit: Gleb Smirnoff 
CommitDate: 2025-02-03 06:38:28 +

sockets: remove empty shim function sopoll()
---
 sys/kern/sys_generic.c |  3 ++-
 sys/kern/sys_socket.c  |  2 +-
 sys/kern/uipc_socket.c | 15 ++-
 sys/sys/socketvar.h|  1 -
 4 files changed, 5 insertions(+), 16 deletions(-)

diff --git a/sys/kern/sys_generic.c b/sys/kern/sys_generic.c
index a3722d771573..dd9c28e81388 100644
--- a/sys/kern/sys_generic.c
+++ b/sys/kern/sys_generic.c
@@ -49,6 +49,7 @@
 #include 
 #include 
 #include 
+#include 
 #include 
 #include 
 #include 
@@ -1817,7 +1818,7 @@ selsocket(struct socket *so, int events, struct timeval 
*tvp, struct thread *td)
 */
for (;;) {
selfdalloc(td, NULL);
-   if (sopoll(so, events, td) != 0) {
+   if (so->so_proto->pr_sopoll(so, events, td) != 0) {
error = 0;
break;
}
diff --git a/sys/kern/sys_socket.c b/sys/kern/sys_socket.c
index ec9fd615685b..33cfd1637b78 100644
--- a/sys/kern/sys_socket.c
+++ b/sys/kern/sys_socket.c
@@ -288,7 +288,7 @@ soo_poll(struct file *fp, int events, struct ucred 
*active_cred,
if (error)
return (error);
 #endif
-   return (sopoll(so, events, td));
+   return (so->so_proto->pr_sopoll(so, events, td));
 }
 
 static int
diff --git a/sys/kern/uipc_socket.c b/sys/kern/uipc_socket.c
index accd63642024..c4ebb43eef18 100644
--- a/sys/kern/uipc_socket.c
+++ b/sys/kern/uipc_socket.c
@@ -96,8 +96,8 @@
  * NOTE: With regard to VNETs the general rule is that callers do not set
  * curvnet. Exceptions to this rule include soabort(), sodisconnect(),
  * sofree(), sorele(), sonewconn() and sorflush(), which are usually called
- * from a pre-set VNET context.  sopoll() currently does not need a VNET
- * context to be set.
+ * from a pre-set VNET context.  sopoll_generic() currently does not need a
+ * VNET context to be set.
  */
 
 #include 
@@ -4404,17 +4404,6 @@ sohasoutofband(struct socket *so)
selwakeuppri(&so->so_rdsel, PSOCK);
 }
 
-int
-sopoll(struct socket *so, int events, struct thread *td)
-{
-
-   /*
-* We do not need to set or assert curvnet as long as everyone uses
-* sopoll_generic().
-*/
-   return (so->so_proto->pr_sopoll(so, events, td));
-}
-
 int
 sopoll_generic(struct socket *so, int events, struct thread *td)
 {
diff --git a/sys/sys/socketvar.h b/sys/sys/socketvar.h
index 57209ea5557f..6e2eb64ea0b8 100644
--- a/sys/sys/socketvar.h
+++ b/sys/sys/socketvar.h
@@ -525,7 +525,6 @@ struct socket *
sonewconn(struct socket *head, int connstatus);
 struct socket *
sopeeloff(struct socket *);
-intsopoll(struct socket *so, int events, struct thread *td);
 intsopoll_generic(struct socket *so, int events, struct thread *td);
 intsoreceive(struct socket *so, struct sockaddr **paddr, struct uio *uio,
struct mbuf **mp0, struct mbuf **controlp, int *flagsp);



git: 5deab77bb6d1 - main - bce: Fix register dumping to skip blank area

2025-02-02 Thread Warner Losh
The branch main has been updated by imp:

URL: 
https://cgit.FreeBSD.org/src/commit/?id=5deab77bb6d119dd171385d144a622e7ba7108fe

commit 5deab77bb6d119dd171385d144a622e7ba7108fe
Author: Warner Losh 
AuthorDate: 2025-02-02 16:49:15 +
Commit: Warner Losh 
CommitDate: 2025-02-02 16:49:15 +

bce: Fix register dumping to skip blank area

When compiling with debug enabled, this produces an always false
warning. It's clear that this was to skip ranges that aren't used when
dumping the registers, so change the && to || to skip things properly.

PR: 200984
Sponsored by:   Netflix
---
 sys/dev/bce/if_bce.c | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

diff --git a/sys/dev/bce/if_bce.c b/sys/dev/bce/if_bce.c
index 73af49015e52..b0ba56099135 100644
--- a/sys/dev/bce/if_bce.c
+++ b/sys/dev/bce/if_bce.c
@@ -11082,7 +11082,7 @@ bce_dump_rxp_state(struct bce_softc *sc, int regs)
 
for (int i = BCE_RXP_CPU_MODE; i < 0xe8fff; i += 0x10) {
/* Skip the big blank sapces */
-   if (i < 0xc5400 && i > 0xd)
+   if (i < 0xc5400 || i > 0xd)
BCE_PRINTF("0x%04X: 0x%08X 0x%08X "
"0x%08X 0x%08X\n", i,
REG_RD_IND(sc, i),
@@ -11200,7 +11200,7 @@ bce_dump_cp_state(struct bce_softc *sc, int regs)
 
for (int i = BCE_CP_CPU_MODE; i < 0x1aa000; i += 0x10) {
/* Skip the big blank spaces */
-   if (i < 0x185400 && i > 0x19)
+   if (i < 0x185400 || i > 0x19)
BCE_PRINTF("0x%04X: 0x%08X 0x%08X "
"0x%08X 0x%08X\n", i,
REG_RD_IND(sc, i),



git: 5a8caf9bfae2 - main - bce: make compile with BCE_DEBUG

2025-02-02 Thread Warner Losh
The branch main has been updated by imp:

URL: 
https://cgit.FreeBSD.org/src/commit/?id=5a8caf9bfae280614ebd98df894a9d895aacd876

commit 5a8caf9bfae280614ebd98df894a9d895aacd876
Author: Warner Losh 
AuthorDate: 2025-02-02 16:57:01 +
Commit: Warner Losh 
CommitDate: 2025-02-02 16:57:01 +

bce: make compile with BCE_DEBUG

Builds now with BCE_DEBUG defined. All bets are of as to whether or not
it works though. This is not the default, and likely quite a rare config
given (a) it's been broken for years and (b) this is an old card people
aren't actively debugging anymore. I don't have the hardware to test it,
though I've not changed anything in the BCE_DEBUG undefined case.

Sponsored by:   Netflix
---
 sys/dev/bce/if_bce.c | 14 +++---
 1 file changed, 7 insertions(+), 7 deletions(-)

diff --git a/sys/dev/bce/if_bce.c b/sys/dev/bce/if_bce.c
index b0ba56099135..16bfce5338a7 100644
--- a/sys/dev/bce/if_bce.c
+++ b/sys/dev/bce/if_bce.c
@@ -1594,7 +1594,7 @@ bce_shutdown(device_t dev)
 static u32
 bce_reg_rd(struct bce_softc *sc, u32 offset)
 {
-   u32 val = REG_RD(sc, offset);
+   u32 val = bus_space_read_4(sc->bce_btag, sc->bce_bhandle, offset);
DBPRINT(sc, BCE_INSANE_REG, "%s(); offset = 0x%08X, val = 0x%08X\n",
__FUNCTION__, offset, val);
return val;
@@ -1611,7 +1611,7 @@ bce_reg_wr16(struct bce_softc *sc, u32 offset, u16 val)
 {
DBPRINT(sc, BCE_INSANE_REG, "%s(); offset = 0x%08X, val = 0x%04X\n",
__FUNCTION__, offset, val);
-   REG_WR16(sc, offset, val);
+   bus_space_write_2(sc->bce_btag, sc->bce_bhandle, offset, val);
 }
 
 //
@@ -1625,7 +1625,7 @@ bce_reg_wr(struct bce_softc *sc, u32 offset, u32 val)
 {
DBPRINT(sc, BCE_INSANE_REG, "%s(); offset = 0x%08X, val = 0x%08X\n",
__FUNCTION__, offset, val);
-   REG_WR(sc, offset, val);
+   bus_space_write_4(sc->bce_btag, sc->bce_bhandle, offset, val);
 }
 #endif
 
@@ -5780,7 +5780,7 @@ bce_fill_rx_chain(struct bce_softc *sc)
/* We should never end up pointing to a next page pointer. */
DBRUNIF(((prod & USABLE_RX_BD_PER_PAGE) == USABLE_RX_BD_PER_PAGE),
BCE_PRINTF("%s(): Invalid rx_prod value: 0x%04X\n",
-   __FUNCTION__, rx_prod));
+   __FUNCTION__, sc->rx_prod));
 
/* Write the mailbox and tell the chip about the waiting rx_bd's. */
REG_WR16(sc, MB_GET_CID_ADDR(RX_CID) + BCE_L2MQ_RX_HOST_BDIDX, prod);
@@ -5944,7 +5944,7 @@ bce_fill_pg_chain(struct bce_softc *sc)
 
DBRUNIF(((prod & USABLE_RX_BD_PER_PAGE) == USABLE_RX_BD_PER_PAGE),
BCE_PRINTF("%s(): Invalid pg_prod value: 0x%04X\n",
-   __FUNCTION__, pg_prod));
+   __FUNCTION__, sc->pg_prod));
 
/*
 * Write the mailbox and tell the chip about
@@ -9030,7 +9030,7 @@ bce_add_sysctls(struct bce_softc *sc)
CTLFLAG_RW, &bootcode_running_failure_sim_control,
0, "Debug control to force bootcode running failures");
 
-   SYSCTL_ADD_INT(ctx, children, OID_AUTO,
+   SYSCTL_ADD_U16(ctx, children, OID_AUTO,
"rx_low_watermark",
CTLFLAG_RD, &sc->rx_low_watermark,
0, "Lowest level of free rx_bd's");
@@ -9040,7 +9040,7 @@ bce_add_sysctls(struct bce_softc *sc)
CTLFLAG_RD, &sc->rx_empty_count,
"Number of times the RX chain was empty");
 
-   SYSCTL_ADD_INT(ctx, children, OID_AUTO,
+   SYSCTL_ADD_U16(ctx, children, OID_AUTO,
"tx_hi_watermark",
CTLFLAG_RD, &sc->tx_hi_watermark,
0, "Highest level of used tx_bd's");