Re: git: 60159a98a837 - main - nvme: Move opcode and status code tables from base CAM to nvme_util.c
- Reply: John Baldwin : "Re: git: 60159a98a837 - main - nvme: Move opcode and status code tables from base CAM to nvme_util.c"
- In reply to: John Baldwin : "git: 60159a98a837 - main - nvme: Move opcode and status code tables from base CAM to nvme_util.c"
- Go to: [ bottom of page ] [ top of archives ] [ this month ]
Date: Thu, 05 Jun 2025 23:29:59 UTC
John Baldwin wrote:
> The branch main has been updated by jhb:
>
> URL: https://cgit.FreeBSD.org/src/commit/?id=60159a98a83747e539eb14c6a0eaaa1875e2cacc
>
> commit 60159a98a83747e539eb14c6a0eaaa1875e2cacc
> Author: John Baldwin <jhb@FreeBSD.org>
> AuthorDate: 2025-06-05 21:03:01 +0000
> Commit: John Baldwin <jhb@FreeBSD.org>
> CommitDate: 2025-06-05 21:03:01 +0000
>
> nvme: Move opcode and status code tables from base CAM to nvme_util.c
>
> This makes it possible to share these tables with the nvme(4) driver
> in custom kernels that do not include any CAM support, only nvd(4).
>
> Reviewed by: imp
> Sponsored by: Chelsio Communications
> Differential Revision: https://reviews.freebsd.org/D50685
> ---
> sys/cam/nvme/nvme_all.c | 224 ---------------------------------------------
> sys/cam/nvme/nvme_all.h | 2 -
> sys/conf/files | 2 +-
> sys/dev/nvme/nvme.h | 4 +
> sys/dev/nvme/nvme_util.c | 231 +++++++++++++++++++++++++++++++++++++++++++++++
> 5 files changed, 236 insertions(+), 227 deletions(-)
>
> diff --git a/sys/cam/nvme/nvme_all.c b/sys/cam/nvme/nvme_all.c
> index 4145aa16ed49..2ab8ae5340c6 100644
> --- a/sys/cam/nvme/nvme_all.c
> +++ b/sys/cam/nvme/nvme_all.c
> @@ -292,24 +130,6 @@ nvme_command_string(struct ccb_nvmeio *nvmeio, char *cmd_string, size_t len)
> return(sbuf_data(&sb));
> }
>
> -void
> -nvme_opcode_sbuf(bool admin, uint8_t opc, struct sbuf *sb)
> -{
> - const char *s, *type;
> -
> - if (admin) {
> - s = admin_opcode[opc];
> - type = "ADMIN";
> - } else {
> - s = nvm_opcode[opc];
> - type = "NVM";
> - }
> - if (s == NULL)
> - sbuf_printf(sb, "%s:0x%02x", type, opc);
> - else
> - sbuf_printf(sb, "%s", s);
> -}
> -
> diff --git a/sys/cam/nvme/nvme_all.h b/sys/cam/nvme/nvme_all.h
> index 17c068b825be..2bc1953e79be 100644
> --- a/sys/cam/nvme/nvme_all.h
> +++ b/sys/cam/nvme/nvme_all.h
> @@ -42,11 +42,9 @@ struct sbuf;
> void nvme_print_ident(const struct nvme_controller_data *, const struct nvme_namespace_data *, struct sbuf *);
> void nvme_print_ident_short(const struct nvme_controller_data *,
> const struct nvme_namespace_data *, struct sbuf *);
> -void nvme_opcode_sbuf(bool admin, uint8_t opc, struct sbuf *sb);
> void nvme_cmd_sbuf(const struct nvme_command *, struct sbuf *sb);
> int nvme_command_sbuf(struct ccb_nvmeio *nvmeio, struct sbuf *sb);
> const char *nvme_command_string(struct ccb_nvmeio *nvmeio, char *, size_t);
> -void nvme_cpl_sbuf(const struct nvme_completion *cpl, struct sbuf *sbuf);
> int nvme_status_sbuf(struct ccb_nvmeio *nvmeio, struct sbuf *sb);
> const void *nvme_get_identify_cntrl(struct cam_periph *);
> const void *nvme_get_identify_ns(struct cam_periph *);
>
>
<sys/dev/nvme.h> doesn't appear to be making it in nvme_all.h as the
build complains about missing nvme_opcode_sbuf() in nvme_all.c.
--
Charlie Li
...nope, still don't have an exit line.