[packages/sedutil] initial PLD release

gotar gotar at pld-linux.org
Sat Aug 27 21:59:43 CEST 2016


commit 70b970fb2cc437e52ba10dca0f16f300d7fc2d84
Author: Tomasz Pala <gotar at pld-linux.org>
Date:   Sat Aug 27 21:47:12 2016 +0200

    initial PLD release

 44e144ae2b85dc541bd09945311a2030ab412e98.patch | 144 +++++++++++++++++++++++++
 sedutil.spec                                   |  48 +++++++++
 2 files changed, 192 insertions(+)
---
diff --git a/sedutil.spec b/sedutil.spec
new file mode 100644
index 0000000..bfc0d3c
--- /dev/null
+++ b/sedutil.spec
@@ -0,0 +1,48 @@
+# TODO:	build PBAs
+Summary:	Self encrypting drive software
+Name:		sedutil
+Version:	1.12
+Release:	1
+License:	GPL v3+
+Group:		Applications/System
+Source0:	https://github.com/Drive-Trust-Alliance/sedutil/archive/%{version}.tar.gz
+# Source0-md5:	ea8c3c6ae806a00feb292c6970f93e09
+# https://github.com/JanLuca/sedutil/commit/44e144ae2b85dc541bd09945311a2030ab412e98.patch
+Patch0:		44e144ae2b85dc541bd09945311a2030ab412e98.patch
+URL:		https://github.com/Drive-Trust-Alliance/sedutil
+BuildRequires:	libstdc++-devel
+ExclusiveArch:	%{ix86} %{x8664}
+BuildRoot:	%{tmpdir}/%{name}-%{version}-root-%(id -u -n)
+
+%description
+The Drive Trust Alliance Self Encrypting Drive Utility.
+
+This program and it's accompanying Pre-Boot Authorization image allow
+you to enable the locking in SED's that comply with the TCG OPAL 2.00
+standard on BIOS machines.
+
+%prep
+%setup -q
+%patch0 -p1
+
+%build
+%{__make} -C linux/CLI \
+%ifarch %{x8664}
+	CONF=Release_x86_64
+%else
+	CONF=Release_i686
+%endif
+
+%install
+rm -rf $RPM_BUILD_ROOT
+install -d $RPM_BUILD_ROOT%{_bindir}
+
+install linux/CLI/dist/Release_*/GNU-Linux/%{name} $RPM_BUILD_ROOT%{_bindir}
+
+%clean
+rm -rf $RPM_BUILD_ROOT
+
+%files
+%defattr(644,root,root,755)
+%doc README.md
+%attr(755,root,root) %{_bindir}/%{name}
diff --git a/44e144ae2b85dc541bd09945311a2030ab412e98.patch b/44e144ae2b85dc541bd09945311a2030ab412e98.patch
new file mode 100644
index 0000000..883e86c
--- /dev/null
+++ b/44e144ae2b85dc541bd09945311a2030ab412e98.patch
@@ -0,0 +1,144 @@
+From 44e144ae2b85dc541bd09945311a2030ab412e98 Mon Sep 17 00:00:00 2001
+From: JanLuca <jan at naumannsfamily.de>
+Date: Mon, 30 May 2016 00:21:48 +0200
+Subject: [PATCH] Use nvme_ioctl.h for newer kernel versions #55
+
+The header linux/nvme.h was replaced by linux/nvme_ioctl.h in kernel versions greater than 4.4: https://git.kernel.org/cgit/linux/kernel/git/torvalds/linux.git/commit/?id=9d99a8dda154
+
+The needed structs and opcodes are copied into a new header file from nvme.h.
+
+See also:
+https://git.kernel.org/cgit/linux/kernel/git/torvalds/linux.git/commit/?id=a9cf8284b45110a4d98aea180a89c857e53bf850
+https://www.bountysource.com/issues/29775575-linux-nvme-h-has-been-renamed-in-linux-4-4
+---
+ linux/DtaDevLinuxNvme.h               |   8 ++-
+ linux/DtaDevLinuxNvmeStructsOpCodes.h | 101 ++++++++++++++++++++++++++++++++++
+ 2 files changed, 108 insertions(+), 1 deletion(-)
+ create mode 100755 linux/DtaDevLinuxNvmeStructsOpCodes.h
+
+diff --git a/linux/DtaDevLinuxNvme.h b/linux/DtaDevLinuxNvme.h
+index cc55761..7a67385 100755
+--- a/linux/DtaDevLinuxNvme.h
++++ b/linux/DtaDevLinuxNvme.h
+@@ -18,7 +18,13 @@ along with sedutil.  If not, see <http://www.gnu.org/licenses/>.
+ 
+  * C:E********************************************************************** */
+ #pragma once
+-#include "linux/nvme.h"
++#include <linux/version.h>
++#if LINUX_VERSION_CODE >= KERNEL_VERSION(4, 4, 0)
++#include <linux/nvme_ioctl.h>
++#include "DtaDevLinuxNvmeStructsOpCodes.h"
++#else
++#include <linux/nvme.h>
++#endif
+ #include "DtaStructures.h"
+ #include "DtaDevLinuxDrive.h"
+ 
+diff --git a/linux/DtaDevLinuxNvmeStructsOpCodes.h b/linux/DtaDevLinuxNvmeStructsOpCodes.h
+new file mode 100755
+index 0000000..16d6265
+--- /dev/null
++++ b/linux/DtaDevLinuxNvmeStructsOpCodes.h
+@@ -0,0 +1,101 @@
++/* C:B**************************************************************************
++This software is Copyright 2014-2016 Bright Plaza Inc. <drivetrust at drivetrust.com>
++
++This file is part of sedutil.
++
++sedutil is free software: you can redistribute it and/or modify
++it under the terms of the GNU General Public License as published by
++the Free Software Foundation, either version 3 of the License, or
++(at your option) any later version.
++
++sedutil is distributed in the hope that it will be useful,
++but WITHOUT ANY WARRANTY; without even the implied warranty of
++MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
++GNU General Public License for more details.
++
++You should have received a copy of the GNU General Public License
++along with sedutil.  If not, see <http://www.gnu.org/licenses/>.
++
++ * C:E********************************************************************** */
++#pragma once
++
++enum nvme_admin_opcode {
++        nvme_admin_delete_sq            = 0x00,
++        nvme_admin_create_sq            = 0x01,
++        nvme_admin_get_log_page         = 0x02,
++        nvme_admin_delete_cq            = 0x04,
++        nvme_admin_create_cq            = 0x05,
++        nvme_admin_identify             = 0x06,
++        nvme_admin_abort_cmd            = 0x08,
++        nvme_admin_set_features         = 0x09,
++        nvme_admin_get_features         = 0x0a,
++        nvme_admin_async_event          = 0x0c,
++        nvme_admin_activate_fw          = 0x10,
++        nvme_admin_download_fw          = 0x11,
++        nvme_admin_format_nvm           = 0x80,
++        nvme_admin_security_send        = 0x81,
++        nvme_admin_security_recv        = 0x82,
++};
++
++struct nvme_id_power_state {
++        __le16                  max_power;      /* centiwatts */
++        __u8                    rsvd2;
++        __u8                    flags;
++        __le32                  entry_lat;      /* microseconds */
++        __le32                  exit_lat;       /* microseconds */
++        __u8                    read_tput;
++        __u8                    read_lat;
++        __u8                    write_tput;
++        __u8                    write_lat;
++        __le16                  idle_power;
++        __u8                    idle_scale;
++        __u8                    rsvd19;
++        __le16                  active_power;
++        __u8                    active_work_scale;
++        __u8                    rsvd23[9];
++};
++
++struct nvme_id_ctrl {
++        __le16                  vid;
++        __le16                  ssvid;
++        char                    sn[20];
++        char                    mn[40];
++        char                    fr[8];
++        __u8                    rab;
++        __u8                    ieee[3];
++        __u8                    mic;
++        __u8                    mdts;
++        __le16                  cntlid;
++        __le32                  ver;
++        __u8                    rsvd84[172];
++        __le16                  oacs;
++        __u8                    acl;
++        __u8                    aerl;
++        __u8                    frmw;
++        __u8                    lpa;
++        __u8                    elpe;
++        __u8                    npss;
++        __u8                    avscc;
++        __u8                    apsta;
++        __le16                  wctemp;
++        __le16                  cctemp;
++        __u8                    rsvd270[242];
++        __u8                    sqes;
++        __u8                    cqes;
++        __u8                    rsvd514[2];
++        __le32                  nn;
++        __le16                  oncs;
++        __le16                  fuses;
++        __u8                    fna;
++        __u8                    vwc;
++        __le16                  awun;
++        __le16                  awupf;
++        __u8                    nvscc;
++        __u8                    rsvd531;
++        __le16                  acwu;
++        __u8                    rsvd534[2];
++        __le32                  sgls;
++        __u8                    rsvd540[1508];
++        struct nvme_id_power_state      psd[32];
++        __u8                    vs[1024];
++};
================================================================

---- gitweb:

http://git.pld-linux.org/gitweb.cgi/packages/sedutil.git/commitdiff/70b970fb2cc437e52ba10dca0f16f300d7fc2d84



More information about the pld-cvs-commit mailing list