Skip to contentSkip to conversation

msr-tools: new package

PATCH New Vincent Stehlé 4 participants 8 messages Jan 29, 2016 – Feb 28, 2016

lore
Share & tools
lore
#0 lore raw

PATCH 1/1 msr-tools: new package

The MSR Tools project provides utilities to access x86 processor MSRs and CPU ID directly.

https://01.org/msr-tools

---
 package/Config.in                |  1 +
 package/msr-tools/Config.in      | 12 ++++++++++++
 package/msr-tools/msr-tools.hash |  2 ++
 package/msr-tools/msr-tools.mk   | 22 ++++++++++++++++++++++
 4 files changed, 37 insertions(+)
 create mode 100644 package/msr-tools/Config.in
 create mode 100644 package/msr-tools/msr-tools.hash
 create mode 100644 package/msr-tools/msr-tools.mk
package/Config.in +1 -0
index 09c2b40..5e2451c 100644
@@ -402,6 +402,7 @@ endif
 	source "package/memtest86/Config.in"
 	source "package/memtester/Config.in"
 	source "package/minicom/Config.in"
+	source "package/msr-tools/Config.in"
 	source "package/nanocom/Config.in"
 	source "package/neard/Config.in"
 	source "package/nvidia-driver/Config.in"
package/msr-tools/Config.in new file +12 -0
new file mode 100644
index 0000000..cc7ac2d
@@ -0,0 +1,12 @@
+config BR2_PACKAGE_MSR_TOOLS
+	bool "msr-tools"
+	depends on BR2_i386 || BR2_x86_64
+	help
+	  The MSR Tools project provides utilities to access x86 processor MSRs
+	  and CPU ID directly.
+
+	  Those tools access the hardware through the /dev/cpu/<cpu#>/msr and
+	  /dev/cpu/<cpu#>/cpuid devices. This necessitates msr and cpuid
+	  support in the kernel.
+
+	  https://01.org/msr-tools
package/msr-tools/msr-tools.hash new file +2 -0
new file mode 100644
index 0000000..18146df
@@ -0,0 +1,2 @@
+# Locally computed:
+sha256 9b87245ee091a798184e447066e9e0d7709b7c81f5e6ad55f2b958c1aa50c4a3 msr-tools-1.3.tar.gz
package/msr-tools/msr-tools.mk new file +22 -0
new file mode 100644
index 0000000..91a783a
@@ -0,0 +1,22 @@
+################################################################################
+#
+# msr-tools
+#
+################################################################################
+
+MSR_TOOLS_VERSION = 1.3
+MSR_TOOLS_SITE = $(call github,01org,msr-tools,msr-tools-$(MSR_TOOLS_VERSION))
+MSR_TOOLS_SOURCE = msr-tools-$(MSR_TOOLS_VERSION).tar.gz
+MSR_TOOLS_LICENSE = GPLv2+
+
+define MSR_TOOLS_BUILD_CMDS
+	$(TARGET_CONFIGURE_OPTS) \
+	$(MAKE) -C $(@D) CC="$(CCACHE) $(TARGET_CC)" CFLAGS="$(TARGET_CFLAGS)"
+endef
+
+define MSR_TOOLS_INSTALL_TARGET_CMDS
+	$(TARGET_CONFIGURE_OPTS) \
+	$(MAKE) -C $(@D) install sbindir="$(TARGET_DIR)/usr/sbin"
+endef
+
+$(eval $(generic-package))
Signature · 1 line
2.7.0.rc3
#1 lore raw

PATCH 1/1 msr-tools: new package

Hi Vincent,

Quoted 36 lines · Vincent Stehl?

The MSR Tools project provides utilities to access x86 processor MSRs and CPU ID directly.

https://01.org/msr-tools

---
 package/Config.in                |  1 +
 package/msr-tools/Config.in      | 12 ++++++++++++
 package/msr-tools/msr-tools.hash |  2 ++
 package/msr-tools/msr-tools.mk   | 22 ++++++++++++++++++++++
 4 files changed, 37 insertions(+)
 create mode 100644 package/msr-tools/Config.in
 create mode 100644 package/msr-tools/msr-tools.hash
 create mode 100644 package/msr-tools/msr-tools.mk
package/Config.in +1 -0
index 09c2b40..5e2451c 100644
@@ -402,6 +402,7 @@ endif
        source "package/memtest86/Config.in"
        source "package/memtester/Config.in"
        source "package/minicom/Config.in"
+       source "package/msr-tools/Config.in"
        source "package/nanocom/Config.in"
        source "package/neard/Config.in"
        source "package/nvidia-driver/Config.in"
package/msr-tools/Config.in new file +2 -0
new file mode 100644
index 0000000..cc7ac2d
@@ -0,0 +1,12 @@
+config BR2_PACKAGE_MSR_TOOLS
+       bool "msr-tools"

package/msr-tools/Config.in line 12

Quoted 10 lines
package/msr-tools/Config.in new file +10 -0
+       depends on BR2_i386 || BR2_x86_64
+       help
+         The MSR Tools project provides utilities to access x86 processor MSRs
+         and CPU ID directly.
+
+         Those tools access the hardware through the /dev/cpu/<cpu#>/msr and
+         /dev/cpu/<cpu#>/cpuid devices. This necessitates msr and cpuid
+         support in the kernel.
+
+         https://01.org/msr-tools

Config.in is missing a depends message like this:

comment "msr-tools runs only on x86 CPUs"

        depends on !BR2_i386 && !BR2_x86_64
Quoted 14 lines
package/msr-tools/msr-tools.hash new file +2 -0
new file mode 100644
index 0000000..18146df
@@ -0,0 +1,2 @@
+# Locally computed:
+sha256 9b87245ee091a798184e447066e9e0d7709b7c81f5e6ad55f2b958c1aa50c4a3 msr-tools-1.3.tar.gz
package/msr-tools/msr-tools.mk new file +0 -0
new file mode 100644
index 0000000..91a783a

package/msr-tools/msr-tools.mk line 9

Quoted 9 lines
package/msr-tools/msr-tools.mk new file +9 -0
@@ -0,0 +1,22 @@
+################################################################################
+#
+# msr-tools
+#
+################################################################################
+
+MSR_TOOLS_VERSION = 1.3
+MSR_TOOLS_SITE = $(call github,01org,msr-tools,msr-tools-$(MSR_TOOLS_VERSION))
+MSR_TOOLS_SOURCE = msr-tools-$(MSR_TOOLS_VERSION).tar.gz

Do you really need MSR_TOOLS_SOURCE?

Other than that looks good to me.

Yegor

Quoted 20 lines
package/msr-tools/msr-tools.mk new file +13 -1
+MSR_TOOLS_LICENSE = GPLv2+
+
+define MSR_TOOLS_BUILD_CMDS
+       $(TARGET_CONFIGURE_OPTS) \
+       $(MAKE) -C $(@D) CC="$(CCACHE) $(TARGET_CC)" CFLAGS="$(TARGET_CFLAGS)"
+endef
+
+define MSR_TOOLS_INSTALL_TARGET_CMDS
+       $(TARGET_CONFIGURE_OPTS) \
+       $(MAKE) -C $(@D) install sbindir="$(TARGET_DIR)/usr/sbin"
+endef
+
+$(eval $(generic-package))
--

2.7.0.rc3

_______________________________________________
buildroot mailing list
buildroot at busybox.net
http://lists.busybox.net/mailman/listinfo/buildroot

#2 lore raw

PATCH 1/1 msr-tools: new package

Hi Yegor,

Thank you very much for your review!

Quoted 5 lines · Yegor Yefremov

Config.in is missing a depends message like this:

comment "msr-tools runs only on x86 CPUs"

        depends on !BR2_i386 && !BR2_x86_64

Good idea; I'll add that.

..

Quoted 3 lines
Quoted 1 line

+MSR_TOOLS_SOURCE = msr-tools-$(MSR_TOOLS_VERSION).tar.gz

Do you really need MSR_TOOLS_SOURCE?

And you are right again: this is definitely not necessary to repeat the default source name :)

Thanks for spotting those; I'll send a v2 right away.

Best regards,

Vincent.

#3 lore raw

PATCH v2 1/1 msr-tools: new package

The MSR Tools project provides utilities to access x86 processor MSRs and CPU ID directly.

https://01.org/msr-tools

---

Changes since v1:
- Add comments in Config.in that msr-tools runs only on x86
- Drop redundant _SOURCE specification in msr-tools.mk

 package/Config.in                |  1 +
 package/msr-tools/Config.in      | 15 +++++++++++++++
 package/msr-tools/msr-tools.hash |  2 ++
 package/msr-tools/msr-tools.mk   | 21 +++++++++++++++++++++
 4 files changed, 39 insertions(+)
 create mode 100644 package/msr-tools/Config.in
 create mode 100644 package/msr-tools/msr-tools.hash
 create mode 100644 package/msr-tools/msr-tools.mk
package/Config.in +1 -0
index 529ad33..f468b46 100644
@@ -403,6 +403,7 @@ endif
 	source "package/memtest86/Config.in"
 	source "package/memtester/Config.in"
 	source "package/minicom/Config.in"
+	source "package/msr-tools/Config.in"
 	source "package/nanocom/Config.in"
 	source "package/neard/Config.in"
 	source "package/nvidia-driver/Config.in"
package/msr-tools/Config.in new file +15 -0
new file mode 100644
index 0000000..b348499
@@ -0,0 +1,15 @@
+config BR2_PACKAGE_MSR_TOOLS
+	bool "msr-tools"
+	depends on BR2_i386 || BR2_x86_64
+	help
+	  The MSR Tools project provides utilities to access x86 processor MSRs
+	  and CPU ID directly.
+
+	  Those tools access the hardware through the /dev/cpu/<cpu#>/msr and
+	  /dev/cpu/<cpu#>/cpuid devices. This necessitates msr and cpuid
+	  support in the kernel.
+
+	  https://01.org/msr-tools
+
+comment "msr-tools runs only on x86 CPUs"
+	depends on !BR2_i386 && !BR2_x86_64
package/msr-tools/msr-tools.hash new file +2 -0
new file mode 100644
index 0000000..18146df
@@ -0,0 +1,2 @@
+# Locally computed:
+sha256 9b87245ee091a798184e447066e9e0d7709b7c81f5e6ad55f2b958c1aa50c4a3 msr-tools-1.3.tar.gz
package/msr-tools/msr-tools.mk new file +21 -0
new file mode 100644
index 0000000..f14684f
@@ -0,0 +1,21 @@
+################################################################################
+#
+# msr-tools
+#
+################################################################################
+
+MSR_TOOLS_VERSION = 1.3
+MSR_TOOLS_SITE = $(call github,01org,msr-tools,msr-tools-$(MSR_TOOLS_VERSION))
+MSR_TOOLS_LICENSE = GPLv2+
+
+define MSR_TOOLS_BUILD_CMDS
+	$(TARGET_CONFIGURE_OPTS) \
+	$(MAKE) -C $(@D) CC="$(CCACHE) $(TARGET_CC)" CFLAGS="$(TARGET_CFLAGS)"
+endef
+
+define MSR_TOOLS_INSTALL_TARGET_CMDS
+	$(TARGET_CONFIGURE_OPTS) \
+	$(MAKE) -C $(@D) install sbindir="$(TARGET_DIR)/usr/sbin"
+endef
+
+$(eval $(generic-package))
Signature · 1 line
2.7.0
#4 lore raw

PATCH v2 1/1 msr-tools: new package

Quoted 41 lines · Vincent Stehl?

The MSR Tools project provides utilities to access x86 processor MSRs and CPU ID directly.

https://01.org/msr-tools

---

Changes since v1:
- Add comments in Config.in that msr-tools runs only on x86
- Drop redundant _SOURCE specification in msr-tools.mk

 package/Config.in                |  1 +
 package/msr-tools/Config.in      | 15 +++++++++++++++
 package/msr-tools/msr-tools.hash |  2 ++
 package/msr-tools/msr-tools.mk   | 21 +++++++++++++++++++++
 4 files changed, 39 insertions(+)
 create mode 100644 package/msr-tools/Config.in
 create mode 100644 package/msr-tools/msr-tools.hash
 create mode 100644 package/msr-tools/msr-tools.mk
package/Config.in +1 -0
index 529ad33..f468b46 100644
@@ -403,6 +403,7 @@ endif
 	source "package/memtest86/Config.in"
 	source "package/memtester/Config.in"
 	source "package/minicom/Config.in"
+	source "package/msr-tools/Config.in"
 	source "package/nanocom/Config.in"
 	source "package/neard/Config.in"
 	source "package/nvidia-driver/Config.in"
package/msr-tools/Config.in new file +0 -0
new file mode 100644
index 0000000..b348499

package/msr-tools/Config.in line 10

Quoted 10 lines
package/msr-tools/Config.in new file +10 -0
@@ -0,0 +1,15 @@
+config BR2_PACKAGE_MSR_TOOLS
+	bool "msr-tools"
+	depends on BR2_i386 || BR2_x86_64
+	help
+	  The MSR Tools project provides utilities to access x86 processor MSRs
+	  and CPU ID directly.
+
+	  Those tools access the hardware through the /dev/cpu/<cpu#>/msr and
+	  /dev/cpu/<cpu#>/cpuid devices. This necessitates msr and cpuid
+	  support in the kernel.

Maybe specify which kernel options should be enabled, i.e. CONFIG_X86_CPUID and
CONFIG_X86_MSR.

package/msr-tools/Config.in line 15

Quoted 5 lines
package/msr-tools/Config.in new file +5 -0
+
+	  https://01.org/msr-tools
+
+comment "msr-tools runs only on x86 CPUs"
+	depends on !BR2_i386 && !BR2_x86_64

As I wrote, this shouldn't be there.

Quoted 14 lines
package/msr-tools/msr-tools.hash new file +2 -0
new file mode 100644
index 0000000..18146df
@@ -0,0 +1,2 @@
+# Locally computed:
+sha256 9b87245ee091a798184e447066e9e0d7709b7c81f5e6ad55f2b958c1aa50c4a3 msr-tools-1.3.tar.gz
package/msr-tools/msr-tools.mk new file +0 -0
new file mode 100644
index 0000000..f14684f

package/msr-tools/msr-tools.mk line 9

Quoted 9 lines
package/msr-tools/msr-tools.mk new file +9 -0
@@ -0,0 +1,21 @@
+################################################################################
+#
+# msr-tools
+#
+################################################################################
+
+MSR_TOOLS_VERSION = 1.3
+MSR_TOOLS_SITE = $(call github,01org,msr-tools,msr-tools-$(MSR_TOOLS_VERSION))
+MSR_TOOLS_LICENSE = GPLv2+

cpuid.c specifies GPLv2-only, so we should stick to that.

Add a comment saying that there is no license file in the tarball. Or cpuid.c
could be used.

package/msr-tools/msr-tools.mk line 13

Quoted 4 lines
package/msr-tools/msr-tools.mk new file +4 -0
+
+define MSR_TOOLS_BUILD_CMDS
+	$(TARGET_CONFIGURE_OPTS) \
+	$(MAKE) -C $(@D) CC="$(CCACHE) $(TARGET_CC)" CFLAGS="$(TARGET_CFLAGS)"

Is it possible to instead use

	$(MAKE) -C $(@D) $(TARGET_CONFIGURE_OPTS)

? At least, LDFLAGS should be passed as well.

package/msr-tools/msr-tools.mk line 17

Quoted 4 lines
package/msr-tools/msr-tools.mk new file +4 -0
+endef
+
+define MSR_TOOLS_INSTALL_TARGET_CMDS
+	$(TARGET_CONFIGURE_OPTS) \

I think this should be after the make.

Regards,
Arnout

Quoted 5 lines
package/msr-tools/msr-tools.mk new file +4 -0
+	$(MAKE) -C $(@D) install sbindir="$(TARGET_DIR)/usr/sbin"
+endef
+
+$(eval $(generic-package))
Signature · 6 lines
Arnout Vandecappelle                          arnout at mind be
Senior Embedded Software Architect            +32-16-286500
Essensium/Mind                                http://www.mind.be
G.Geenslaan 9, 3001 Leuven, Belgium           BE 872 984 063 RPR Leuven
LinkedIn profile: http://www.linkedin.com/in/arnoutvandecappelle
GPG fingerprint:  7493 020B C7E3 8618 8DEC 222C 82EB F404 F9AC 0DDF
#5 lore raw

PATCH v3 1/1 msr-tools: new package

The MSR Tools project provides utilities to access x86 processor MSRs and CPU ID directly.

https://01.org/msr-tools

Cc Yegor Yefremov <[email protected]>
Cc Arnout Vandecappelle <[email protected]>

---

Hi Arnout,

Thank you for your review.

All the items you pointed out should be addressed now. Do not hesitate to let me know if you spot anything else.

Best regards,

Vincent.

Changes in v3:
- Drop comments in Config.in that msr-tools runs only on x86 after all
- Mention the necessary kernel options explicitly in Config.in help.
- Change license to GPLv2 as per cpuid.c
- Change makefile commands to be more in line with common usage.

Changes in v2:
- Add comments in Config.in that msr-tools runs only on x86
- Drop redundant _SOURCE specification in msr-tools.mk

 package/Config.in                |  1 +
 package/msr-tools/Config.in      | 13 +++++++++++++
 package/msr-tools/msr-tools.hash |  2 ++
 package/msr-tools/msr-tools.mk   | 21 +++++++++++++++++++++
 4 files changed, 37 insertions(+)
 create mode 100644 package/msr-tools/Config.in
 create mode 100644 package/msr-tools/msr-tools.hash
 create mode 100644 package/msr-tools/msr-tools.mk
package/Config.in +1 -0
index 529ad33..f468b46 100644
@@ -403,6 +403,7 @@ endif
 	source "package/memtest86/Config.in"
 	source "package/memtester/Config.in"
 	source "package/minicom/Config.in"
+	source "package/msr-tools/Config.in"
 	source "package/nanocom/Config.in"
 	source "package/neard/Config.in"
 	source "package/nvidia-driver/Config.in"
package/msr-tools/Config.in new file +13 -0
new file mode 100644
index 0000000..50ae505
@@ -0,0 +1,13 @@
+config BR2_PACKAGE_MSR_TOOLS
+	bool "msr-tools"
+	depends on BR2_i386 || BR2_x86_64
+	help
+	  The MSR Tools project provides utilities to access x86 processor MSRs
+	  and CPU ID directly.
+
+	  Those tools access the hardware through the /dev/cpu/<cpu#>/msr and
+	  /dev/cpu/<cpu#>/cpuid devices. This necessitates msr and cpuid
+	  support in the kernel, which means you need a kernel compiled with
+	  configuration options CONFIG_X86_CPUID and CONFIG_X86_MSR enabled.
+
+	  https://01.org/msr-tools
package/msr-tools/msr-tools.hash new file +2 -0
new file mode 100644
index 0000000..18146df
@@ -0,0 +1,2 @@
+# Locally computed:
+sha256 9b87245ee091a798184e447066e9e0d7709b7c81f5e6ad55f2b958c1aa50c4a3 msr-tools-1.3.tar.gz
package/msr-tools/msr-tools.mk new file +21 -0
new file mode 100644
index 0000000..a5fc8a8
@@ -0,0 +1,21 @@
+################################################################################
+#
+# msr-tools
+#
+################################################################################
+
+MSR_TOOLS_VERSION = 1.3
+MSR_TOOLS_SITE = $(call github,01org,msr-tools,msr-tools-$(MSR_TOOLS_VERSION))
+MSR_TOOLS_LICENSE = GPLv2
+MSR_TOOLS_LICENSE_FILES = cpuid.c
+
+define MSR_TOOLS_BUILD_CMDS
+	$(MAKE) -C $(@D) $(TARGET_CONFIGURE_OPTS)
+endef
+
+define MSR_TOOLS_INSTALL_TARGET_CMDS
+	$(MAKE) -C $(@D) $(TARGET_CONFIGURE_OPTS) install \
+		sbindir="$(TARGET_DIR)/usr/sbin"
+endef
+
+$(eval $(generic-package))
Signature · 1 line
2.7.0
#6 lore raw

PATCH v3 1/1 msr-tools: new package

Dear Vincent Stehl?,

Quoted 9 lines · Vincent Stehl?

The MSR Tools project provides utilities to access x86 processor MSRs and CPU ID directly.

https://01.org/msr-tools

Cc Yegor Yefremov <[email protected]>
Cc Arnout Vandecappelle <[email protected]>

---

Applied to next with the following changes:

[Thomas:
- rewrap Config.in help text
- use $(TARGET_MAKE_ENV) when calling $(MAKE).]

Thanks!

Thomas

Signature · 3 lines
Thomas Petazzoni, CTO, Free Electrons
Embedded Linux, Kernel and Android engineering
http://free-electrons.com
#7 lore raw

PATCH 1/1 msr-tools: new package

In reply to Yegor Yefremov
Quoted 4 lines · Yegor Yefremov

Config.in is missing a depends message like this:

comment "msr-tools runs only on x86 CPUs"

        depends on !BR2_i386 && !BR2_x86_64

Actually, no: we don't add architecture dependencies. The user can't change his
configuration to a different architecture to be able to select the package, so the comment isn't much use.

Regards,
Arnout

Signature · 6 lines
Arnout Vandecappelle                          arnout at mind be
Senior Embedded Software Architect            +32-16-286500
Essensium/Mind                                http://www.mind.be
G.Geenslaan 9, 3001 Leuven, Belgium           BE 872 984 063 RPR Leuven
LinkedIn profile: http://www.linkedin.com/in/arnoutvandecappelle
GPG fingerprint:  7493 020B C7E3 8618 8DEC 222C 82EB F404 F9AC 0DDF