* [PATCH v8 01/12] tests/vm: pass args through to BaseVM's __init__
From: Robert Foley @ 2020-05-29 20:34 UTC (permalink / raw)
To: qemu-devel; +Cc: Fam Zheng, philmd, alex.bennee, robert.foley, peter.puhov
In-Reply-To: <20200529203458.1038-1-robert.foley@linaro.org>
Adding the args parameter to BaseVM's __init__.
We will shortly need to pass more parameters to the class
so let's just pass args rather than growing the parameter list.
Signed-off-by: Robert Foley <robert.foley@linaro.org>
Reviewed-by: Alex Bennée <alex.bennee@linaro.org>
---
tests/vm/basevm.py | 13 ++++++-------
1 file changed, 6 insertions(+), 7 deletions(-)
diff --git a/tests/vm/basevm.py b/tests/vm/basevm.py
index a2d4054d72..fbefda0595 100644
--- a/tests/vm/basevm.py
+++ b/tests/vm/basevm.py
@@ -61,9 +61,9 @@ class BaseVM(object):
# 4 is arbitrary, but greater than 2,
# since we found we need to wait more than twice as long.
tcg_ssh_timeout_multiplier = 4
- def __init__(self, debug=False, vcpus=None, genisoimage=None):
+ def __init__(self, args):
self._guest = None
- self._genisoimage = genisoimage
+ self._genisoimage = args.genisoimage
self._tmpdir = os.path.realpath(tempfile.mkdtemp(prefix="vm-test-",
suffix=".tmp",
dir="."))
@@ -76,7 +76,7 @@ class BaseVM(object):
self._ssh_pub_key_file = os.path.join(self._tmpdir, "id_rsa.pub")
open(self._ssh_pub_key_file, "w").write(SSH_PUB_KEY)
- self.debug = debug
+ self.debug = args.debug
self._stderr = sys.stderr
self._devnull = open(os.devnull, "w")
if self.debug:
@@ -90,8 +90,8 @@ class BaseVM(object):
(",ipv6=no" if not self.ipv6 else ""),
"-device", "virtio-net-pci,netdev=vnet",
"-vnc", "127.0.0.1:0,to=20"]
- if vcpus and vcpus > 1:
- self._args += ["-smp", "%d" % vcpus]
+ if args.jobs and args.jobs > 1:
+ self._args += ["-smp", "%d" % args.jobs]
if kvm_available(self.arch):
self._args += ["-enable-kvm"]
else:
@@ -438,8 +438,7 @@ def main(vmcls):
return 1
logging.basicConfig(level=(logging.DEBUG if args.debug
else logging.WARN))
- vm = vmcls(debug=args.debug, vcpus=args.jobs,
- genisoimage=args.genisoimage)
+ vm = vmcls(args)
if args.build_image:
if os.path.exists(args.image) and not args.force:
sys.stderr.writelines(["Image file exists: %s\n" % args.image,
--
2.17.1
^ permalink raw reply related
* Re: Splitting 1 USB port between 2 devices
From: Julius Werner @ 2020-05-29 20:44 UTC (permalink / raw)
To: Greg Kroah-Hartman
Cc: Alexandru M Stan, USB list, Alan Stern, Felipe Balbi,
Doug Anderson, Julius Werner, Evan Green
In-Reply-To: <20200529081243.GA827304@kroah.com>
> > My question here is: is this legal as far as Linux is concerned? Can 2
> > devices be enumerated under one physical port (even though we're
> > talking about separate usb2.0 and 3.0 bus topologies).
>
> Is it "legal" as far as the USB spec is concerned? I would try to
> answer that first before worrying about if Linux can handle it or not :)
I don't think the question gets specifically addressed. It does at
least say this: 'A USB hub is the logical combination of two hubs: a
USB 2.0 hub and an Enhanced SuperSpeed hub. Each hub operates
independently on a separate data bus. Typically, the only signal
shared logic between them is to control VBUS.'
> > Is there any weird port reset interaction that might be annoying here?
> > I wouldn't want a reset on the usb 2.0 device to affect the 3.0
> > device.
>
> Which is why I don't think the hub would like this type of
> configuration, as who controls the power connections? What happens if
> one device is suspended and the other isn't?
USB 3.2 spec also says: 'If either the USB 2.0 hub or Enhanced
SuperSpeed hub controllers requires a downstream port to be powered,
power is turned on for the port.'
Note that since we're talking internal devices only here, the hub
usually doesn't actually supply VBUS to the device anyway. Port power
controls should only matter for whether the port is logically turned
on or not. Suspend signalling uses the data pins so the expectation is
that it should be possible separately for the USB 3.0 and USB 2.0 side
(after all, when you suspend a 3.0 hub, you also suspend both halves
separately -- right?).
Of course since hub manufacturers probably don't expect this use case,
every hub you'd want to do this with would always have to be carefully
tested first. I think the main question here is whether Linux
architecturally assumes that every port on a 3.0 hub *needs* to have a
corresponding 2.0 port and they can't both be used for separate
devices, or whether it's going to add assumptions like that at some
point in the future. Like Alex said, running this seems to work fine
on Linux 5.4 right now. The question is just whether we can expect it
to stay that way and can consider this an allowed use case in Linux
(as long as the hardware supports it) -- i.e. if other changes get
added later that break this in software, could we submit fixes for
this use case or would we be told that device configurations like this
just aren't allowed in the first place?
^ permalink raw reply
* Re: [PATCH] HID: usbhid: do not sleep when opening device
From: Guenter Roeck @ 2020-05-29 20:44 UTC (permalink / raw)
To: Dmitry Torokhov
Cc: Jiri Kosina, Benjamin Tissoires, groeck, Nicolas Boichat,
linux-usb, linux-input, linux-kernel
In-Reply-To: <20200529203324.GL89269@dtor-ws>
On Fri, May 29, 2020 at 01:33:24PM -0700, Dmitry Torokhov wrote:
> On Fri, May 29, 2020 at 01:14:24PM -0700, Guenter Roeck wrote:
> > On Fri, May 29, 2020 at 12:59:51PM -0700, Dmitry Torokhov wrote:
> > > usbhid tries to give the device 50 milliseconds to drain its queues
> > > when opening the device, but does it naively by simply sleeping in open
> > > handler, which slows down device probing (and thus may affect overall
> > > boot time).
> > >
> > > However we do not need to sleep as we can instead mark a point of time
> > > in the future when we should start processing the events.
> > >
> > > Reported-by: Nicolas Boichat <drinkcat@chromium.org>
> > > Signed-off-by: Dmitry Torokhov <dmitry.torokhov@gmail.com>
> > > ---
> > > drivers/hid/usbhid/hid-core.c | 27 +++++++++++++++------------
> > > drivers/hid/usbhid/usbhid.h | 1 +
> > > 2 files changed, 16 insertions(+), 12 deletions(-)
> > >
> > > diff --git a/drivers/hid/usbhid/hid-core.c b/drivers/hid/usbhid/hid-core.c
> > > index c7bc9db5b192..e69992e945b2 100644
> > > --- a/drivers/hid/usbhid/hid-core.c
> > > +++ b/drivers/hid/usbhid/hid-core.c
> > > @@ -95,6 +95,19 @@ static int hid_start_in(struct hid_device *hid)
> > > set_bit(HID_NO_BANDWIDTH, &usbhid->iofl);
> > > } else {
> > > clear_bit(HID_NO_BANDWIDTH, &usbhid->iofl);
> > > +
> > > + if (test_and_clear_bit(HID_RESUME_RUNNING,
> > > + &usbhid->iofl)) {
> > > + /*
> > > + * In case events are generated while nobody was
> > > + * listening, some are released when the device
> > > + * is re-opened. Wait 50 msec for the queue to
> > > + * empty before allowing events to go through
> > > + * hid.
> > > + */
> > > + usbhid->input_start_time = jiffies +
> > > + msecs_to_jiffies(50);
> > > + }
> > > }
> > > }
> > > spin_unlock_irqrestore(&usbhid->lock, flags);
> > > @@ -280,7 +293,8 @@ static void hid_irq_in(struct urb *urb)
> > > if (!test_bit(HID_OPENED, &usbhid->iofl))
> > > break;
> > > usbhid_mark_busy(usbhid);
> > > - if (!test_bit(HID_RESUME_RUNNING, &usbhid->iofl)) {
> > > + if (!test_bit(HID_RESUME_RUNNING, &usbhid->iofl) &&
> > > + time_after(jiffies, usbhid->input_start_time)) {
> > > hid_input_report(urb->context, HID_INPUT_REPORT,
> > > urb->transfer_buffer,
> > > urb->actual_length, 1);
> > > @@ -714,17 +728,6 @@ static int usbhid_open(struct hid_device *hid)
> > > }
> > >
> > > usb_autopm_put_interface(usbhid->intf);
> > > -
> > > - /*
> > > - * In case events are generated while nobody was listening,
> > > - * some are released when the device is re-opened.
> > > - * Wait 50 msec for the queue to empty before allowing events
> > > - * to go through hid.
> > > - */
> > > - if (res == 0)
> > > - msleep(50);
> > > -
> > Can you just set usbhid->input_start_time here ?
> > if (res == 0)
> > usbhid->input_start_time = jiffies + msecs_to_jiffies(50);
> > clear_bit(HID_RESUME_RUNNING, &usbhid->iofl);
> >
> > Then you might not need the added code in hid_start_in().
>
> That was my first version, but if hid_start_in() fails we start a timer
> and try to retry the IO (and the "res" in 0 in this case). And we want
> to mark the time only after we successfully submitted the interrupt URB,
> that is why the code is in hid_start_in().
>
Ah yes, that makes sense.
Reviewed-by: Guenter Roeck <linux@roeck-us.net>
Thanks,
Guenter
^ permalink raw reply
* [Buildroot] [PATCH/next] boot/at91bootstrap3: bump to version 3.9.2
From: Thomas Petazzoni @ 2020-05-29 20:45 UTC (permalink / raw)
To: buildroot
In-Reply-To: <1590660057-11642-1-git-send-email-pjtexier@koncepto.io>
On Thu, 28 May 2020 12:00:56 +0200
Pierre-Jean Texier <pjtexier@koncepto.io> wrote:
> Signed-off-by: Pierre-Jean Texier <pjtexier@koncepto.io>
> ---
> boot/at91bootstrap3/Config.in | 4 ++--
> boot/at91bootstrap3/at91bootstrap3.hash | 2 +-
> 2 files changed, 3 insertions(+), 3 deletions(-)
Applied to next, thanks.
Thomas
--
Thomas Petazzoni, CTO, Bootlin
Embedded Linux and Kernel engineering
https://bootlin.com
^ permalink raw reply
* [Buildroot] [git commit] Update for 2020.05-rc3
From: Peter Korsgaard @ 2020-05-29 20:45 UTC (permalink / raw)
To: buildroot
commit: https://git.buildroot.net/buildroot/commit/?id=e118415151052365c5967687bce152a2c971ef7e
branch: https://git.buildroot.net/buildroot/commit/?id=refs/heads/master
Signed-off-by: Peter Korsgaard <peter@korsgaard.com>
---
CHANGES | 22 ++++++++++++++++++++++
Makefile | 4 ++--
docs/website/download.html | 18 +++++++++---------
docs/website/news.html | 21 +++++++++++++++++++++
4 files changed, 54 insertions(+), 11 deletions(-)
diff --git a/CHANGES b/CHANGES
index 4310a11fc5..85e9828cbf 100644
--- a/CHANGES
+++ b/CHANGES
@@ -1,3 +1,25 @@
+2020.05-rc3, released May 29th, 2020
+
+ Fixes all over the tree.
+
+ Infrastructure: Support checking download hashes for packages
+ coming from Subversion.
+
+ Defconfigs: Increase boot partition size to 64MB for Freescale
+ boards to allow space for bigger kernels.
+
+ Updated/fixed packages: audit, bind, dovecot, efl, erlang,
+ ffmpeg, fio, gerbera, gnupg, leveldb, lrzip, ltrace, matio,
+ mesa3d, mp4v2, prosody, qemu, qt5declarative, speexdsp,
+ systemd, tremor, uboot-tools, unbound, wireshark
+
+ Removed packages: wiringpi
+
+ Issues resolved (http://bugs.uclibc.org):
+
+ #12361: Init system (systemd) kills login on Raspberry Pi Zero
+ #12686: recipe for target 'install_dev' failed (libcrypto.so..)
+
2020.05-rc2, released May 22nd 2020
Fixes all over the tree.
diff --git a/Makefile b/Makefile
index cb15428406..374ddb068f 100644
--- a/Makefile
+++ b/Makefile
@@ -92,9 +92,9 @@ all:
.PHONY: all
# Set and export the version string
-export BR2_VERSION := 2020.05-rc2
+export BR2_VERSION := 2020.05-rc3
# Actual time the release is cut (for reproducible builds)
-BR2_VERSION_EPOCH = 1590140000
+BR2_VERSION_EPOCH = 1590784000
# Save running make version since it's clobbered by the make package
RUNNING_MAKE_VERSION := $(MAKE_VERSION)
diff --git a/docs/website/download.html b/docs/website/download.html
index a2e14a4a5b..60308d9e56 100644
--- a/docs/website/download.html
+++ b/docs/website/download.html
@@ -76,37 +76,37 @@
</div>
</div>
-->
- <h3 style="text-align: center;">Latest release candidate: <b>2020.05-rc2</b></h3>
+ <h3 style="text-align: center;">Latest release candidate: <b>2020.05-rc3</b></h3>
<div class="row mt centered">
<div class="col-sm-6">
<div class="flip-container center-block" ontouchstart="this.classList.toggle('hover');">
<div class="flipper">
<div class="front">
- <a href="/downloads/buildroot-2020.05-rc2.tar.gz"><img src="images/zip.png" width="180" alt=""></a>
+ <a href="/downloads/buildroot-2020.05-rc3.tar.gz"><img src="images/zip.png" width="180" alt=""></a>
</div>
<div class="back">
- <a href="/downloads/buildroot-2020.05-rc2.tar.gz"><img src="images/zip.png" width="180" alt=""></a>
+ <a href="/downloads/buildroot-2020.05-rc3.tar.gz"><img src="images/zip.png" width="180" alt=""></a>
</div>
</div>
</div>
- <h3><a href="/downloads/buildroot-2020.05-rc2.tar.gz">buildroot-2020.05-rc2.tar.gz</a></h3>
- <p><a href="/downloads/buildroot-2020.05-rc2.tar.gz.sign">PGP signature</a></p>
+ <h3><a href="/downloads/buildroot-2020.05-rc3.tar.gz">buildroot-2020.05-rc3.tar.gz</a></h3>
+ <p><a href="/downloads/buildroot-2020.05-rc3.tar.gz.sign">PGP signature</a></p>
</div>
<div class="col-sm-6">
<div class="flip-container center-block" ontouchstart="this.classList.toggle('hover');">
<div class="flipper">
<div class="front">
- <a href="/downloads/buildroot-2020.05-rc2.tar.bz2"><img src="images/package.png" width="180" alt=""></a>
+ <a href="/downloads/buildroot-2020.05-rc3.tar.bz2"><img src="images/package.png" width="180" alt=""></a>
</div>
<div class="back">
- <a href="/downloads/buildroot-2020.05-rc2.tar.bz2"><img src="images/package.png" width="180" alt=""></a>
+ <a href="/downloads/buildroot-2020.05-rc3.tar.bz2"><img src="images/package.png" width="180" alt=""></a>
</div>
</div>
</div>
- <h3><a href="/downloads/buildroot-2020.05-rc2.tar.bz2">buildroot-2020.05-rc2.tar.bz2</a></h3>
- <p><a href="/downloads/buildroot-2020.05-rc2.tar.bz2.sign">PGP signature</a></p>
+ <h3><a href="/downloads/buildroot-2020.05-rc3.tar.bz2">buildroot-2020.05-rc3.tar.bz2</a></h3>
+ <p><a href="/downloads/buildroot-2020.05-rc3.tar.bz2.sign">PGP signature</a></p>
</div>
</div>
diff --git a/docs/website/news.html b/docs/website/news.html
index ec49017fd2..908a3f4536 100644
--- a/docs/website/news.html
+++ b/docs/website/news.html
@@ -9,6 +9,27 @@
<h2>News</h2>
<ul class="timeline">
+ <li class="timeline-inverted">
+ <div class="timeline-badge"><i class="glyphicon glyphicon-thumbs-up"></i></div>
+ <div class="timeline-panel">
+ <div class="timeline-heading">
+ <h4 class="timeline-title">2020.05-rc3 released</h4>
+ <p><small class="text-muted"><i class="glyphicon glyphicon-time"></i>29 May 2020</small></p>
+ </div>
+ <div class="timeline-body">
+ <p>Another week, another release candidate with more cleanups and build fixes. See the
+ <a href="http://git.buildroot.net/buildroot/plain/CHANGES?id=2020.05-rc3">CHANGES</a>
+ file for details.</p>
+
+ <p>Head to the <a href="/downloads/">downloads page</a> to pick up the
+ <a href="/downloads/buildroot-2020.05-rc3.tar.bz2">2020.05-rc3
+ release candidate</a>, and report any problems found to the
+ <a href="support.html">mailing list</a> or
+ <a href="https://bugs.buildroot.org">bug tracker</a>.</p>
+ </div>
+ </div>
+ </li>
+
<li>
<div class="timeline-badge"><i class="glyphicon glyphicon-thumbs-up"></i></div>
<div class="timeline-panel">
^ permalink raw reply related
* Re: [PATCH bpf-next] bpf: use strncpy_from_unsafe_strict() in bpf_seq_printf() helper
From: Song Liu @ 2020-05-29 20:45 UTC (permalink / raw)
To: Yonghong Song
Cc: bpf, Alexei Starovoitov, Daniel Borkmann, Kernel Team,
Christoph Hellwig
In-Reply-To: <20200529004810.3352219-1-yhs@fb.com>
> On May 28, 2020, at 5:48 PM, Yonghong Song <yhs@fb.com> wrote:
>
> In bpf_seq_printf() helper, when user specified a "%s" in the
> format string, strncpy_from_unsafe() is used to read the actual string
> to a buffer. The string could be a format string or a string in
> the kernel data structure. It is really unlikely that the string
> will reside in the user memory.
>
> This is different from Commit b2a5212fb634 ("bpf: Restrict bpf_trace_printk()'s %s
> usage and add %pks, %pus specifier") which still used
> strncpy_from_unsafe() for "%s" to preserve the old behavior.
>
> If in the future, bpf_seq_printf() indeed needs to read user
> memory, we can implement "%pus" format string.
>
> Based on discussion in [1], if the intent is to read kernel memory,
> strncpy_from_unsafe_strict() should be used. So this patch
> changed to use strncpy_from_unsafe_strict().
>
> [1]: https://lore.kernel.org/bpf/20200521152301.2587579-1-hch@lst.de/T/
>
> Cc: Christoph Hellwig <hch@lst.de>
> Signed-off-by: Yonghong Song <yhs@fb.com>
Acked-by: Song Liu <songliubraving@fb.com>
I guess we should add:
Fixes: 492e639f0c22 ("bpf: Add bpf_seq_printf and bpf_seq_write helpers")
^ permalink raw reply
* [Buildroot] [PATCH 2/2] configs/imx7dpico: bump kernel and U-Boot version
From: Thomas Petazzoni @ 2020-05-29 20:45 UTC (permalink / raw)
To: buildroot
In-Reply-To: <20200529134928.1407-2-offougajoris@gmail.com>
On Fri, 29 May 2020 15:49:28 +0200
Joris Offouga <offougajoris@gmail.com> wrote:
> Bump U-Boot to 2020.04 and kernel to version 5.6.3
>
> Signed-off-by: Joris Offouga <offougajoris@gmail.com>
> ---
> configs/imx7dpico_defconfig | 8 ++++----
> 1 file changed, 4 insertions(+), 4 deletions(-)
Applied to next, thanks.
Thomas
--
Thomas Petazzoni, CTO, Bootlin
Embedded Linux and Kernel engineering
https://bootlin.com
^ permalink raw reply
* [PATCH] iio: accel: mxc4005: add support for mxc6655
From: Christian Oder @ 2020-05-29 20:05 UTC (permalink / raw)
Cc: myself5, Christian Oder, Jonathan Cameron, Hartmut Knaack,
Lars-Peter Clausen, Peter Meerwald-Stadler, Thomas Gleixner,
Allison Randal, Greg Kroah-Hartman, Chuhong Yuan, linux-iio,
linux-kernel
The mxc6655 is fully working with the existing mxc4005 driver.
Add support for it.
Signed-off-by: Christian Oder <me@myself5.de>
---
drivers/iio/accel/mxc4005.c | 2 ++
1 file changed, 2 insertions(+)
diff --git a/drivers/iio/accel/mxc4005.c b/drivers/iio/accel/mxc4005.c
index 3d5bea651923..3b8614352cb4 100644
--- a/drivers/iio/accel/mxc4005.c
+++ b/drivers/iio/accel/mxc4005.c
@@ -474,12 +474,14 @@ static int mxc4005_probe(struct i2c_client *client,
static const struct acpi_device_id mxc4005_acpi_match[] = {
{"MXC4005", 0},
+ {"MXC6655", 0},
{ },
};
MODULE_DEVICE_TABLE(acpi, mxc4005_acpi_match);
static const struct i2c_device_id mxc4005_id[] = {
{"mxc4005", 0},
+ {"mxc6655", 0},
{ },
};
MODULE_DEVICE_TABLE(i2c, mxc4005_id);
--
2.26.2
^ permalink raw reply related
* Re: [PATCH v8 42/62] target/riscv: vector floating-point merge instructions
From: Alistair Francis @ 2020-05-29 20:36 UTC (permalink / raw)
To: LIU Zhiwei
Cc: qemu-devel@nongnu.org Developers, open list:RISC-V,
Richard Henderson, wxy194768, wenmeng_zhang, Alistair Francis,
Palmer Dabbelt
In-Reply-To: <20200521094413.10425-43-zhiwei_liu@c-sky.com>
On Thu, May 21, 2020 at 4:09 AM LIU Zhiwei <zhiwei_liu@c-sky.com> wrote:
>
> Signed-off-by: LIU Zhiwei <zhiwei_liu@c-sky.com>
Reviewed-by: Alistair Francis <alistair.francis@wdc.com>
Alistair
> ---
> target/riscv/helper.h | 4 +++
> target/riscv/insn32.decode | 2 ++
> target/riscv/insn_trans/trans_rvv.inc.c | 38 +++++++++++++++++++++++++
> target/riscv/vector_helper.c | 24 ++++++++++++++++
> 4 files changed, 68 insertions(+)
>
> diff --git a/target/riscv/helper.h b/target/riscv/helper.h
> index 23b268df90..21054cc957 100644
> --- a/target/riscv/helper.h
> +++ b/target/riscv/helper.h
> @@ -994,3 +994,7 @@ DEF_HELPER_6(vmford_vf_d, void, ptr, ptr, i64, ptr, env, i32)
> DEF_HELPER_5(vfclass_v_h, void, ptr, ptr, ptr, env, i32)
> DEF_HELPER_5(vfclass_v_w, void, ptr, ptr, ptr, env, i32)
> DEF_HELPER_5(vfclass_v_d, void, ptr, ptr, ptr, env, i32)
> +
> +DEF_HELPER_6(vfmerge_vfm_h, void, ptr, ptr, i64, ptr, env, i32)
> +DEF_HELPER_6(vfmerge_vfm_w, void, ptr, ptr, i64, ptr, env, i32)
> +DEF_HELPER_6(vfmerge_vfm_d, void, ptr, ptr, i64, ptr, env, i32)
> diff --git a/target/riscv/insn32.decode b/target/riscv/insn32.decode
> index 23e80fe954..14cb4e2e66 100644
> --- a/target/riscv/insn32.decode
> +++ b/target/riscv/insn32.decode
> @@ -513,6 +513,8 @@ vmfge_vf 011111 . ..... ..... 101 ..... 1010111 @r_vm
> vmford_vv 011010 . ..... ..... 001 ..... 1010111 @r_vm
> vmford_vf 011010 . ..... ..... 101 ..... 1010111 @r_vm
> vfclass_v 100011 . ..... 10000 001 ..... 1010111 @r2_vm
> +vfmerge_vfm 010111 0 ..... ..... 101 ..... 1010111 @r_vm_0
> +vfmv_v_f 010111 1 00000 ..... 101 ..... 1010111 @r2
>
> vsetvli 0 ........... ..... 111 ..... 1010111 @r2_zimm
> vsetvl 1000000 ..... ..... 111 ..... 1010111 @r
> diff --git a/target/riscv/insn_trans/trans_rvv.inc.c b/target/riscv/insn_trans/trans_rvv.inc.c
> index 621220e5ff..dfa2177331 100644
> --- a/target/riscv/insn_trans/trans_rvv.inc.c
> +++ b/target/riscv/insn_trans/trans_rvv.inc.c
> @@ -2177,3 +2177,41 @@ GEN_OPFVF_TRANS(vmford_vf, opfvf_cmp_check)
>
> /* Vector Floating-Point Classify Instruction */
> GEN_OPFV_TRANS(vfclass_v, opfv_check)
> +
> +/* Vector Floating-Point Merge Instruction */
> +GEN_OPFVF_TRANS(vfmerge_vfm, opfvf_check)
> +
> +static bool trans_vfmv_v_f(DisasContext *s, arg_vfmv_v_f *a)
> +{
> + if (vext_check_isa_ill(s) &&
> + vext_check_reg(s, a->rd, false) &&
> + (s->sew != 0)) {
> +
> + if (s->vl_eq_vlmax) {
> + tcg_gen_gvec_dup_i64(s->sew, vreg_ofs(s, a->rd),
> + MAXSZ(s), MAXSZ(s), cpu_fpr[a->rs1]);
> + } else {
> + TCGv_ptr dest;
> + TCGv_i32 desc;
> + uint32_t data = FIELD_DP32(0, VDATA, LMUL, s->lmul);
> + static gen_helper_vmv_vx * const fns[3] = {
> + gen_helper_vmv_v_x_h,
> + gen_helper_vmv_v_x_w,
> + gen_helper_vmv_v_x_d,
> + };
> + TCGLabel *over = gen_new_label();
> + tcg_gen_brcondi_tl(TCG_COND_EQ, cpu_vl, 0, over);
> +
> + dest = tcg_temp_new_ptr();
> + desc = tcg_const_i32(simd_desc(0, s->vlen / 8, data));
> + tcg_gen_addi_ptr(dest, cpu_env, vreg_ofs(s, a->rd));
> + fns[s->sew - 1](dest, cpu_fpr[a->rs1], cpu_env, desc);
> +
> + tcg_temp_free_ptr(dest);
> + tcg_temp_free_i32(desc);
> + gen_set_label(over);
> + }
> + return true;
> + }
> + return false;
> +}
> diff --git a/target/riscv/vector_helper.c b/target/riscv/vector_helper.c
> index 63d8873c0a..018293570d 100644
> --- a/target/riscv/vector_helper.c
> +++ b/target/riscv/vector_helper.c
> @@ -4193,3 +4193,27 @@ RVVCALL(OPIVV1, vfclass_v_d, OP_UU_D, H8, H8, fclass_d)
> GEN_VEXT_V(vfclass_v_h, 2, 2, clearh)
> GEN_VEXT_V(vfclass_v_w, 4, 4, clearl)
> GEN_VEXT_V(vfclass_v_d, 8, 8, clearq)
> +
> +/* Vector Floating-Point Merge Instruction */
> +#define GEN_VFMERGE_VF(NAME, ETYPE, H, CLEAR_FN) \
> +void HELPER(NAME)(void *vd, void *v0, uint64_t s1, void *vs2, \
> + CPURISCVState *env, uint32_t desc) \
> +{ \
> + uint32_t mlen = vext_mlen(desc); \
> + uint32_t vm = vext_vm(desc); \
> + uint32_t vl = env->vl; \
> + uint32_t esz = sizeof(ETYPE); \
> + uint32_t vlmax = vext_maxsz(desc) / esz; \
> + uint32_t i; \
> + \
> + for (i = 0; i < vl; i++) { \
> + ETYPE s2 = *((ETYPE *)vs2 + H(i)); \
> + *((ETYPE *)vd + H(i)) \
> + = (!vm && !vext_elem_mask(v0, mlen, i) ? s2 : s1); \
> + } \
> + CLEAR_FN(vd, vl, vl * esz, vlmax * esz); \
> +}
> +
> +GEN_VFMERGE_VF(vfmerge_vfm_h, int16_t, H2, clearh)
> +GEN_VFMERGE_VF(vfmerge_vfm_w, int32_t, H4, clearl)
> +GEN_VFMERGE_VF(vfmerge_vfm_d, int64_t, H8, clearq)
> --
> 2.23.0
>
>
^ permalink raw reply
* [PULL u-boot] Please pull u-boot-amlogic-20200529
From: Tom Rini @ 2020-05-29 20:46 UTC (permalink / raw)
To: u-boot
In-Reply-To: <0bf95451-23be-3f5f-251d-e1ebd0f75140@baylibre.com>
On Fri, May 29, 2020 at 01:53:00PM +0200, Neil Armstrong wrote:
> Hi Tom,
>
> This PR enables HDMI on Khadas VIM3/VIM3 board and fixes USB gadget support for
> libretech-ac/pc & vim/vim2 boards.
>
> The CI job is at https://gitlab.denx.de/u-boot/custodians/u-boot-amlogic/pipelines/3473
>
> Thanks,
> Neil
>
> The following changes since commit ab80137cc436e977ef91a154372ae5aeae3f4fb0:
>
> Merge https://gitlab.denx.de/u-boot/custodians/u-boot-marvell (2020-05-27 10:56:25 -0400)
>
> are available in the Git repository at:
>
> https://gitlab.denx.de/u-boot/custodians/u-boot-amlogic.git tags/u-boot-amlogic-20200529
>
> for you to fetch changes up to 3678a5f0597d1cd491e3bded19ea72e570b5c8b1:
>
> arm: dts: meson-gxl: fix USB gadget by adding missing nodes for U-Boot (2020-05-29 10:20:34 +0200)
>
Applied to u-boot/master, thanks!
--
Tom
-------------- next part --------------
A non-text attachment was scrubbed...
Name: signature.asc
Type: application/pgp-signature
Size: 659 bytes
Desc: not available
URL: <https://lists.denx.de/pipermail/u-boot/attachments/20200529/88dbaf92/attachment.sig>
^ permalink raw reply
* [Buildroot] [git commit branch/next] package/libdrm: bump version to 2.4.102
From: Thomas Petazzoni @ 2020-05-29 20:46 UTC (permalink / raw)
To: buildroot
commit: https://git.buildroot.net/buildroot/commit/?id=b40393a8a0a465eca682fb7fb7eebe414f7d5157
branch: https://git.buildroot.net/buildroot/commit/?id=refs/heads/next
Removed patch applied upstream, reformatted hashes.
Signed-off-by: Bernd Kuhls <bernd.kuhls@t-online.de>
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@bootlin.com>
---
.../0003-tests-amdgpu-needs-atomic_ops.patch | 27 ----------------------
package/libdrm/libdrm.hash | 6 ++---
package/libdrm/libdrm.mk | 2 +-
3 files changed, 4 insertions(+), 31 deletions(-)
diff --git a/package/libdrm/0003-tests-amdgpu-needs-atomic_ops.patch b/package/libdrm/0003-tests-amdgpu-needs-atomic_ops.patch
deleted file mode 100644
index 9c06675daf..0000000000
--- a/package/libdrm/0003-tests-amdgpu-needs-atomic_ops.patch
+++ /dev/null
@@ -1,27 +0,0 @@
-From f0adb08424e624aeee340291343281256b7a98e8 Mon Sep 17 00:00:00 2001
-From: Peter Seiderer <ps.report@gmx.net>
-Date: Sat, 7 Mar 2020 12:23:09 +0100
-Subject: [PATCH] tests/amdgpu: needs atomic_ops
-
-[Upstream: https://gitlab.freedesktop.org/mesa/drm/-/merge_requests/50]
-Signed-off-by: Peter Seiderer <ps.report@gmx.net>
----
- tests/amdgpu/meson.build | 2 +-
- 1 file changed, 1 insertion(+), 1 deletion(-)
-
-diff --git a/tests/amdgpu/meson.build b/tests/amdgpu/meson.build
-index 1726cb43..4dfa5c83 100644
---- a/tests/amdgpu/meson.build
-+++ b/tests/amdgpu/meson.build
-@@ -26,7 +26,7 @@ if dep_cunit.found()
- 'vce_tests.c', 'uvd_enc_tests.c', 'vcn_tests.c', 'deadlock_tests.c',
- 'vm_tests.c', 'ras_tests.c', 'syncobj_tests.c',
- ),
-- dependencies : [dep_cunit, dep_threads],
-+ dependencies : [dep_cunit, dep_threads, dep_atomic_ops],
- include_directories : [inc_root, inc_drm, include_directories('../../amdgpu')],
- link_with : [libdrm, libdrm_amdgpu],
- install : with_install_tests,
---
-2.25.1
-
diff --git a/package/libdrm/libdrm.hash b/package/libdrm/libdrm.hash
index 4c9c4c4fed..72330165d8 100644
--- a/package/libdrm/libdrm.hash
+++ b/package/libdrm/libdrm.hash
@@ -1,3 +1,3 @@
-# From https://lists.freedesktop.org/archives/dri-devel/2020-April/261067.html
-sha256 ddf31baa8e49473624860bd166ce654dc349873f7a6c7b3305964249315c78a7 libdrm-2.4.101.tar.xz
-sha512 658cfc6f478b674b77b4613e1af9ce8f4fd2ace8a18e75729de254d14b7c1f5d67d4bfdb58744aea74abca0f6521326225f4156bd5cbeeed79ca3e025f657e8c libdrm-2.4.101.tar.xz
+# From https://lists.freedesktop.org/archives/dri-devel/2020-May/267255.html
+sha256 8bcbf9336c28e393d76c1f16d7e79e394a7fce8a2e929d52d3ad7ad8525ba05b libdrm-2.4.102.tar.xz
+sha512 386afd228efd809fe32776a6ff5d9dd95d1409a6a6a89b3806a3b42ed27e84f1e090f3b7834973f834d6b0d1342b7034447fe8690d072f85f03292d7795c3e0c libdrm-2.4.102.tar.xz
diff --git a/package/libdrm/libdrm.mk b/package/libdrm/libdrm.mk
index 4217fcc84c..9348b83295 100644
--- a/package/libdrm/libdrm.mk
+++ b/package/libdrm/libdrm.mk
@@ -4,7 +4,7 @@
#
################################################################################
-LIBDRM_VERSION = 2.4.101
+LIBDRM_VERSION = 2.4.102
LIBDRM_SOURCE = libdrm-$(LIBDRM_VERSION).tar.xz
LIBDRM_SITE = https://dri.freedesktop.org/libdrm
LIBDRM_LICENSE = MIT
^ permalink raw reply related
* [Buildroot] [git commit] package/libdrm: bump version to 2.4.102
From: Thomas Petazzoni @ 2020-05-29 20:46 UTC (permalink / raw)
To: buildroot
commit: https://git.buildroot.net/buildroot/commit/?id=b40393a8a0a465eca682fb7fb7eebe414f7d5157
branch: https://git.buildroot.net/buildroot/commit/?id=refs/heads/master
Removed patch applied upstream, reformatted hashes.
Signed-off-by: Bernd Kuhls <bernd.kuhls@t-online.de>
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@bootlin.com>
---
.../0003-tests-amdgpu-needs-atomic_ops.patch | 27 ----------------------
package/libdrm/libdrm.hash | 6 ++---
package/libdrm/libdrm.mk | 2 +-
3 files changed, 4 insertions(+), 31 deletions(-)
diff --git a/package/libdrm/0003-tests-amdgpu-needs-atomic_ops.patch b/package/libdrm/0003-tests-amdgpu-needs-atomic_ops.patch
deleted file mode 100644
index 9c06675daf..0000000000
--- a/package/libdrm/0003-tests-amdgpu-needs-atomic_ops.patch
+++ /dev/null
@@ -1,27 +0,0 @@
-From f0adb08424e624aeee340291343281256b7a98e8 Mon Sep 17 00:00:00 2001
-From: Peter Seiderer <ps.report@gmx.net>
-Date: Sat, 7 Mar 2020 12:23:09 +0100
-Subject: [PATCH] tests/amdgpu: needs atomic_ops
-
-[Upstream: https://gitlab.freedesktop.org/mesa/drm/-/merge_requests/50]
-Signed-off-by: Peter Seiderer <ps.report@gmx.net>
----
- tests/amdgpu/meson.build | 2 +-
- 1 file changed, 1 insertion(+), 1 deletion(-)
-
-diff --git a/tests/amdgpu/meson.build b/tests/amdgpu/meson.build
-index 1726cb43..4dfa5c83 100644
---- a/tests/amdgpu/meson.build
-+++ b/tests/amdgpu/meson.build
-@@ -26,7 +26,7 @@ if dep_cunit.found()
- 'vce_tests.c', 'uvd_enc_tests.c', 'vcn_tests.c', 'deadlock_tests.c',
- 'vm_tests.c', 'ras_tests.c', 'syncobj_tests.c',
- ),
-- dependencies : [dep_cunit, dep_threads],
-+ dependencies : [dep_cunit, dep_threads, dep_atomic_ops],
- include_directories : [inc_root, inc_drm, include_directories('../../amdgpu')],
- link_with : [libdrm, libdrm_amdgpu],
- install : with_install_tests,
---
-2.25.1
-
diff --git a/package/libdrm/libdrm.hash b/package/libdrm/libdrm.hash
index 4c9c4c4fed..72330165d8 100644
--- a/package/libdrm/libdrm.hash
+++ b/package/libdrm/libdrm.hash
@@ -1,3 +1,3 @@
-# From https://lists.freedesktop.org/archives/dri-devel/2020-April/261067.html
-sha256 ddf31baa8e49473624860bd166ce654dc349873f7a6c7b3305964249315c78a7 libdrm-2.4.101.tar.xz
-sha512 658cfc6f478b674b77b4613e1af9ce8f4fd2ace8a18e75729de254d14b7c1f5d67d4bfdb58744aea74abca0f6521326225f4156bd5cbeeed79ca3e025f657e8c libdrm-2.4.101.tar.xz
+# From https://lists.freedesktop.org/archives/dri-devel/2020-May/267255.html
+sha256 8bcbf9336c28e393d76c1f16d7e79e394a7fce8a2e929d52d3ad7ad8525ba05b libdrm-2.4.102.tar.xz
+sha512 386afd228efd809fe32776a6ff5d9dd95d1409a6a6a89b3806a3b42ed27e84f1e090f3b7834973f834d6b0d1342b7034447fe8690d072f85f03292d7795c3e0c libdrm-2.4.102.tar.xz
diff --git a/package/libdrm/libdrm.mk b/package/libdrm/libdrm.mk
index 4217fcc84c..9348b83295 100644
--- a/package/libdrm/libdrm.mk
+++ b/package/libdrm/libdrm.mk
@@ -4,7 +4,7 @@
#
################################################################################
-LIBDRM_VERSION = 2.4.101
+LIBDRM_VERSION = 2.4.102
LIBDRM_SOURCE = libdrm-$(LIBDRM_VERSION).tar.xz
LIBDRM_SITE = https://dri.freedesktop.org/libdrm
LIBDRM_LICENSE = MIT
^ permalink raw reply related
* [PATCH v8 02/12] tests/vm: Add configuration to basevm.py
From: Robert Foley @ 2020-05-29 20:34 UTC (permalink / raw)
To: qemu-devel; +Cc: Fam Zheng, philmd, alex.bennee, robert.foley, peter.puhov
In-Reply-To: <20200529203458.1038-1-robert.foley@linaro.org>
Added use of a configuration to tests/vm/basevm.py.
The configuration provides parameters used to configure a VM.
This allows for providing alternate configurations to the VM being
created/launched. cpu, machine, memory, and NUMA configuration are all
examples of configuration which we might want to vary on the VM being created
or launched.
This will for example allow for creating an aarch64 vm.
Signed-off-by: Robert Foley <robert.foley@linaro.org>
Reviewed-by: Peter Puhov <peter.puhov@linaro.org>
Reviewed-by: Alex Bennée <alex.bennee@linaro.org>
---
tests/vm/basevm.py | 172 +++++++++++++++++++++++++++++++++++----------
1 file changed, 133 insertions(+), 39 deletions(-)
diff --git a/tests/vm/basevm.py b/tests/vm/basevm.py
index fbefda0595..c33cf7436d 100644
--- a/tests/vm/basevm.py
+++ b/tests/vm/basevm.py
@@ -29,16 +29,41 @@ import tempfile
import shutil
import multiprocessing
import traceback
-
-SSH_KEY = open(os.path.join(os.path.dirname(__file__),
- "..", "keys", "id_rsa")).read()
-SSH_PUB_KEY = open(os.path.join(os.path.dirname(__file__),
- "..", "keys", "id_rsa.pub")).read()
-
+import shlex
+
+SSH_KEY_FILE = os.path.join(os.path.dirname(__file__),
+ "..", "keys", "id_rsa")
+SSH_PUB_KEY_FILE = os.path.join(os.path.dirname(__file__),
+ "..", "keys", "id_rsa.pub")
+
+# This is the standard configuration.
+# Any or all of these can be overridden by
+# passing in a config argument to the VM constructor.
+DEFAULT_CONFIG = {
+ 'cpu' : "max",
+ 'machine' : 'pc',
+ 'guest_user' : "qemu",
+ 'guest_pass' : "qemupass",
+ 'root_pass' : "qemupass",
+ 'ssh_key_file' : SSH_KEY_FILE,
+ 'ssh_pub_key_file': SSH_PUB_KEY_FILE,
+ 'memory' : "4G",
+ 'extra_args' : [],
+ 'qemu_args' : "",
+ 'dns' : "",
+ 'ssh_port' : 0,
+ 'install_cmds' : "",
+ 'boot_dev_type' : "block",
+ 'ssh_timeout' : 1,
+}
+BOOT_DEVICE = {
+ 'block' : "-drive file={},if=none,id=drive0,cache=writeback "\
+ "-device virtio-blk,drive=drive0,bootindex=0",
+ 'scsi' : "-device virtio-scsi-device,id=scsi "\
+ "-drive file={},format=raw,if=none,id=hd0 "\
+ "-device scsi-hd,drive=hd0,bootindex=0",
+}
class BaseVM(object):
- GUEST_USER = "qemu"
- GUEST_PASS = "qemupass"
- ROOT_PASS = "qemupass"
envvars = [
"https_proxy",
@@ -57,24 +82,37 @@ class BaseVM(object):
poweroff = "poweroff"
# enable IPv6 networking
ipv6 = True
+ # This is the timeout on the wait for console bytes.
+ socket_timeout = 120
# Scale up some timeouts under TCG.
# 4 is arbitrary, but greater than 2,
# since we found we need to wait more than twice as long.
tcg_ssh_timeout_multiplier = 4
- def __init__(self, args):
+ def __init__(self, args, config=None):
self._guest = None
self._genisoimage = args.genisoimage
+ # Allow input config to override defaults.
+ self._config = DEFAULT_CONFIG.copy()
+ if config != None:
+ self._config.update(config)
+ self.validate_ssh_keys()
self._tmpdir = os.path.realpath(tempfile.mkdtemp(prefix="vm-test-",
suffix=".tmp",
dir="."))
atexit.register(shutil.rmtree, self._tmpdir)
-
- self._ssh_key_file = os.path.join(self._tmpdir, "id_rsa")
- open(self._ssh_key_file, "w").write(SSH_KEY)
- subprocess.check_call(["chmod", "600", self._ssh_key_file])
-
- self._ssh_pub_key_file = os.path.join(self._tmpdir, "id_rsa.pub")
- open(self._ssh_pub_key_file, "w").write(SSH_PUB_KEY)
+ # Copy the key files to a temporary directory.
+ # Also chmod the key file to agree with ssh requirements.
+ self._config['ssh_key'] = \
+ open(self._config['ssh_key_file']).read().rstrip()
+ self._config['ssh_pub_key'] = \
+ open(self._config['ssh_pub_key_file']).read().rstrip()
+ self._ssh_tmp_key_file = os.path.join(self._tmpdir, "id_rsa")
+ open(self._ssh_tmp_key_file, "w").write(self._config['ssh_key'])
+ subprocess.check_call(["chmod", "600", self._ssh_tmp_key_file])
+
+ self._ssh_tmp_pub_key_file = os.path.join(self._tmpdir, "id_rsa.pub")
+ open(self._ssh_tmp_pub_key_file,
+ "w").write(self._config['ssh_pub_key'])
self.debug = args.debug
self._stderr = sys.stderr
@@ -83,11 +121,14 @@ class BaseVM(object):
self._stdout = sys.stdout
else:
self._stdout = self._devnull
+ netdev = "user,id=vnet,hostfwd=:127.0.0.1:{}-:22"
self._args = [ \
- "-nodefaults", "-m", "4G",
- "-cpu", "max",
- "-netdev", "user,id=vnet,hostfwd=:127.0.0.1:0-:22" +
- (",ipv6=no" if not self.ipv6 else ""),
+ "-nodefaults", "-m", self._config['memory'],
+ "-cpu", self._config['cpu'],
+ "-netdev",
+ netdev.format(self._config['ssh_port']) +
+ (",ipv6=no" if not self.ipv6 else "") +
+ (",dns=" + self._config['dns'] if self._config['dns'] else ""),
"-device", "virtio-net-pci,netdev=vnet",
"-vnc", "127.0.0.1:0,to=20"]
if args.jobs and args.jobs > 1:
@@ -98,6 +139,55 @@ class BaseVM(object):
logging.info("KVM not available, not using -enable-kvm")
self._data_args = []
+ if self._config['qemu_args'] != None:
+ qemu_args = self._config['qemu_args']
+ qemu_args = qemu_args.replace('\n',' ').replace('\r','')
+ # shlex groups quoted arguments together
+ # we need this to keep the quoted args together for when
+ # the QEMU command is issued later.
+ args = shlex.split(qemu_args)
+ self._config['extra_args'] = []
+ for arg in args:
+ if arg:
+ # Preserve quotes around arguments.
+ # shlex above takes them out, so add them in.
+ if " " in arg:
+ arg = '"{}"'.format(arg)
+ self._config['extra_args'].append(arg)
+
+ def validate_ssh_keys(self):
+ """Check to see if the ssh key files exist."""
+ if 'ssh_key_file' not in self._config or\
+ not os.path.exists(self._config['ssh_key_file']):
+ raise Exception("ssh key file not found.")
+ if 'ssh_pub_key_file' not in self._config or\
+ not os.path.exists(self._config['ssh_pub_key_file']):
+ raise Exception("ssh pub key file not found.")
+
+ def wait_boot(self, wait_string=None):
+ """Wait for the standard string we expect
+ on completion of a normal boot.
+ The user can also choose to override with an
+ alternate string to wait for."""
+ if wait_string is None:
+ if self.login_prompt is None:
+ raise Exception("self.login_prompt not defined")
+ wait_string = self.login_prompt
+ # Intentionally bump up the default timeout under TCG,
+ # since the console wait below takes longer.
+ timeout = self.socket_timeout
+ if not kvm_available(self.arch):
+ timeout *= 8
+ self.console_init(timeout=timeout)
+ self.console_wait(wait_string)
+
+ def __getattr__(self, name):
+ # Support direct access to config by key.
+ # for example, access self._config['cpu'] by self.cpu
+ if name.lower() in self._config.keys():
+ return self._config[name.lower()]
+ return object.__getattribute__(self, name)
+
def _download_with_cache(self, url, sha256sum=None, sha512sum=None):
def check_sha256sum(fname):
if not sha256sum:
@@ -129,8 +219,9 @@ class BaseVM(object):
"-t",
"-o", "StrictHostKeyChecking=no",
"-o", "UserKnownHostsFile=" + os.devnull,
- "-o", "ConnectTimeout=1",
- "-p", self.ssh_port, "-i", self._ssh_key_file]
+ "-o",
+ "ConnectTimeout={}".format(self._config["ssh_timeout"]),
+ "-p", self.ssh_port, "-i", self._ssh_tmp_key_file]
# If not in debug mode, set ssh to quiet mode to
# avoid printing the results of commands.
if not self.debug:
@@ -179,14 +270,14 @@ class BaseVM(object):
"virtio-blk,drive=%s,serial=%s,bootindex=1" % (name, name)]
def boot(self, img, extra_args=[]):
- args = self._args + [
- "-drive", "file=%s,if=none,id=drive0,cache=writeback" % img,
- "-device", "virtio-blk,drive=drive0,bootindex=0"]
- args += self._data_args + extra_args
+ boot_dev = BOOT_DEVICE[self._config['boot_dev_type']]
+ boot_params = boot_dev.format(img)
+ args = self._args + boot_params.split(' ')
+ args += self._data_args + extra_args + self._config['extra_args']
logging.debug("QEMU args: %s", " ".join(args))
qemu_bin = os.environ.get("QEMU", "qemu-system-" + self.arch)
guest = QEMUMachine(binary=qemu_bin, args=args)
- guest.set_machine('pc')
+ guest.set_machine(self._config['machine'])
guest.set_console()
try:
guest.launch()
@@ -300,7 +391,8 @@ class BaseVM(object):
self.console_send(command)
def console_ssh_init(self, prompt, user, pw):
- sshkey_cmd = "echo '%s' > .ssh/authorized_keys\n" % SSH_PUB_KEY.rstrip()
+ sshkey_cmd = "echo '%s' > .ssh/authorized_keys\n" \
+ % self._config['ssh_pub_key'].rstrip()
self.console_wait_send("login:", "%s\n" % user)
self.console_wait_send("Password:", "%s\n" % pw)
self.console_wait_send(prompt, "mkdir .ssh\n")
@@ -359,23 +451,23 @@ class BaseVM(object):
"local-hostname: {}-guest\n".format(name)])
mdata.close()
udata = open(os.path.join(cidir, "user-data"), "w")
- print("guest user:pw {}:{}".format(self.GUEST_USER,
- self.GUEST_PASS))
+ print("guest user:pw {}:{}".format(self._config['guest_user'],
+ self._config['guest_pass']))
udata.writelines(["#cloud-config\n",
"chpasswd:\n",
" list: |\n",
- " root:%s\n" % self.ROOT_PASS,
- " %s:%s\n" % (self.GUEST_USER,
- self.GUEST_PASS),
+ " root:%s\n" % self._config['root_pass'],
+ " %s:%s\n" % (self._config['guest_user'],
+ self._config['guest_pass']),
" expire: False\n",
"users:\n",
- " - name: %s\n" % self.GUEST_USER,
+ " - name: %s\n" % self._config['guest_user'],
" sudo: ALL=(ALL) NOPASSWD:ALL\n",
" ssh-authorized-keys:\n",
- " - %s\n" % SSH_PUB_KEY,
+ " - %s\n" % self._config['ssh_pub_key'],
" - name: root\n",
" ssh-authorized-keys:\n",
- " - %s\n" % SSH_PUB_KEY,
+ " - %s\n" % self._config['ssh_pub_key'],
"locale: en_US.UTF-8\n"])
proxy = os.environ.get("http_proxy")
if not proxy is None:
@@ -430,15 +522,17 @@ def parse_args(vmcls):
parser.disable_interspersed_args()
return parser.parse_args()
-def main(vmcls):
+def main(vmcls, config=None):
try:
+ if config == None:
+ config = {}
args, argv = parse_args(vmcls)
if not argv and not args.build_qemu and not args.build_image:
print("Nothing to do?")
return 1
logging.basicConfig(level=(logging.DEBUG if args.debug
else logging.WARN))
- vm = vmcls(args)
+ vm = vmcls(args, config=config)
if args.build_image:
if os.path.exists(args.image) and not args.force:
sys.stderr.writelines(["Image file exists: %s\n" % args.image,
--
2.17.1
^ permalink raw reply related
* Re: [PATCH 2/2] dlmfs: convert dlmfs_file_read() to copy_to_user()
From: Al Viro @ 2020-05-29 20:46 UTC (permalink / raw)
To: Linus Torvalds; +Cc: Linux Kernel Mailing List, linux-fsdevel
In-Reply-To: <CAHk-=wgM0KbsiYd+USqbiDgW8WyvAFMfLXMgebc7Z+-Q6WjZqQ@mail.gmail.com>
On Thu, May 28, 2020 at 08:42:25PM -0700, Linus Torvalds wrote:
> > struct sigset_argpack argpack = { NULL, 0 };
> >
> > if (get_sigset_argpack(sig, &argpack))
> > return -EFAULT;
>
> and now you can use "argpack.sigset" and "argpack.sigset_size".
>
> No?
>
> Same exact deal for the compat case, where you'd just need that compat
> struct (using "compat_uptr_t" and "compat_size_t"), and then
>
> > struct compat_sigset_argpack argpack = { 0, 0 };
> >
> > + if (get_compat_sigset_argpack(sig, &argpack))
> > + return -EFAULT;
>
> and then you use the result with "compat_ptr(argpack.sigset)" and
> "argpack.sigset_size".
>
> Or did I mis-read anything and get confused by that code in your patch?
Umm... I'd been concerned about code generation, but it actually gets
split into a pair of scalars just fine...
Al, trying to resist the temptation to call those struct bad_idea and
struct bad_idea_32...
All jokes aside, when had we (or anybody else, really) _not_ gotten
into trouble when passing structs across the kernel boundary? Sure,
sometimes you have to (stat, for example), but just look at the amount
of PITA stat() has spawned...
^ permalink raw reply
* [PATCH v8 03/12] tests/vm: Added configuration file support
From: Robert Foley @ 2020-05-29 20:34 UTC (permalink / raw)
To: qemu-devel; +Cc: Fam Zheng, philmd, alex.bennee, robert.foley, peter.puhov
In-Reply-To: <20200529203458.1038-1-robert.foley@linaro.org>
Changes to tests/vm/basevm.py to allow accepting a configuration file
as a parameter. Allows for specifying VM options such as
cpu, machine, memory, and arbitrary qemu arguments for specifying options
such as NUMA configuration.
Also added an example conf_example_aarch64.yml and conf_example_x86.yml.
Signed-off-by: Robert Foley <robert.foley@linaro.org>
Reviewed-by: Peter Puhov <peter.puhov@linaro.org>
Reviewed-by: Alex Bennée <alex.bennee@linaro.org>
---
configure | 9 ++++++
tests/vm/Makefile.include | 6 ++++
tests/vm/basevm.py | 40 +++++++++++++++++++++++-
tests/vm/conf_example_aarch64.yml | 51 +++++++++++++++++++++++++++++++
tests/vm/conf_example_x86.yml | 50 ++++++++++++++++++++++++++++++
5 files changed, 155 insertions(+), 1 deletion(-)
create mode 100644 tests/vm/conf_example_aarch64.yml
create mode 100644 tests/vm/conf_example_x86.yml
diff --git a/configure b/configure
index af2ba83f0e..d82de47fdd 100755
--- a/configure
+++ b/configure
@@ -950,6 +950,13 @@ do
fi
done
+# Check for existence of python3 yaml, needed to
+# import yaml config files into vm-build.
+python_yaml="no"
+if $(python3 -c "import yaml" 2> /dev/null); then
+ python_yaml="yes"
+fi
+
: ${smbd=${SMBD-/usr/sbin/smbd}}
# Default objcc to clang if available, otherwise use CC
@@ -6597,6 +6604,7 @@ if test "$docs" != "no"; then
echo "sphinx-build $sphinx_build"
fi
echo "genisoimage $genisoimage"
+echo "python_yaml $python_yaml"
echo "slirp support $slirp $(echo_version $slirp $slirp_version)"
if test "$slirp" != "no" ; then
echo "smbd $smbd"
@@ -7659,6 +7667,7 @@ echo "PYTHON=$python" >> $config_host_mak
echo "SPHINX_BUILD=$sphinx_build" >> $config_host_mak
echo "SPHINX_WERROR=$sphinx_werror" >> $config_host_mak
echo "GENISOIMAGE=$genisoimage" >> $config_host_mak
+echo "PYTHON_YAML=$python_yaml" >> $config_host_mak
echo "CC=$cc" >> $config_host_mak
if $iasl -h > /dev/null 2>&1; then
echo "IASL=$iasl" >> $config_host_mak
diff --git a/tests/vm/Makefile.include b/tests/vm/Makefile.include
index 74ab522c55..d9b34eae63 100644
--- a/tests/vm/Makefile.include
+++ b/tests/vm/Makefile.include
@@ -43,6 +43,12 @@ endif
@echo " V=1 - Enable verbose ouput on host and guest commands"
@echo " QEMU=/path/to/qemu - Change path to QEMU binary"
@echo " QEMU_IMG=/path/to/qemu-img - Change path to qemu-img tool"
+ifeq ($(PYTHON_YAML),yes)
+ @echo " QEMU_CONFIG=/path/conf.yml - Change path to VM configuration .yml file."
+else
+ @echo " (install python3-yaml to enable support for yaml file to configure a VM.)"
+endif
+ @echo " See conf_example_*.yml for file format details."
vm-build-all: $(addprefix vm-build-, $(IMAGES))
diff --git a/tests/vm/basevm.py b/tests/vm/basevm.py
index c33cf7436d..7d23ae279b 100644
--- a/tests/vm/basevm.py
+++ b/tests/vm/basevm.py
@@ -480,9 +480,43 @@ class BaseVM(object):
cwd=cidir,
stdin=self._devnull, stdout=self._stdout,
stderr=self._stdout)
-
return os.path.join(cidir, "cloud-init.iso")
+def parse_config(config, args):
+ """ Parse yaml config and populate our config structure.
+ The yaml config allows the user to override the
+ defaults for VM parameters. In many cases these
+ defaults can be overridden without rebuilding the VM."""
+ if args.config:
+ config_file = args.config
+ elif 'QEMU_CONFIG' in os.environ:
+ config_file = os.environ['QEMU_CONFIG']
+ else:
+ return config
+ if not os.path.exists(config_file):
+ raise Exception("config file {} does not exist".format(config_file))
+ # We gracefully handle importing the yaml module
+ # since it might not be installed.
+ # If we are here it means the user supplied a .yml file,
+ # so if the yaml module is not installed we will exit with error.
+ try:
+ import yaml
+ except ImportError:
+ print("The python3-yaml package is needed "\
+ "to support config.yaml files")
+ # Instead of raising an exception we exit to avoid
+ # a raft of messy (expected) errors to stdout.
+ exit(1)
+ with open(config_file) as f:
+ yaml_dict = yaml.safe_load(f)
+
+ if 'qemu-conf' in yaml_dict:
+ config.update(yaml_dict['qemu-conf'])
+ else:
+ raise Exception("config file {} is not valid"\
+ " missing qemu-conf".format(config_file))
+ return config
+
def parse_args(vmcls):
def get_default_jobs():
@@ -519,6 +553,9 @@ def parse_args(vmcls):
help="run tests with a snapshot")
parser.add_option("--genisoimage", default="genisoimage",
help="iso imaging tool")
+ parser.add_option("--config", "-c", default=None,
+ help="Provide config yaml for configuration. "\
+ "See config_example.yaml for example.")
parser.disable_interspersed_args()
return parser.parse_args()
@@ -530,6 +567,7 @@ def main(vmcls, config=None):
if not argv and not args.build_qemu and not args.build_image:
print("Nothing to do?")
return 1
+ config = parse_config(config, args)
logging.basicConfig(level=(logging.DEBUG if args.debug
else logging.WARN))
vm = vmcls(args, config=config)
diff --git a/tests/vm/conf_example_aarch64.yml b/tests/vm/conf_example_aarch64.yml
new file mode 100644
index 0000000000..9d44ae356f
--- /dev/null
+++ b/tests/vm/conf_example_aarch64.yml
@@ -0,0 +1,51 @@
+#
+# Example yaml for use by any of the scripts in tests/vm.
+# Can be provided as an environment variable QEMU_CONFIG
+#
+qemu-conf:
+
+ # If any of the below are not provided, we will just use the qemu defaults.
+
+ # Login username and password(has to be sudo enabled)
+ guest_user: qemu
+ guest_pass: "qemupass"
+
+ # Password for root user can be different from guest.
+ root_pass: "qemupass"
+
+ # If one key is provided, both must be provided.
+ #ssh_key: /complete/path/of/your/keyfile/id_rsa
+ #ssh_pub_key: /complete/path/of/your/keyfile/id_rsa.pub
+
+ cpu: max
+ machine: virt,gic-version=max
+ memory: 16G
+
+ # The below is a example for how to configure NUMA topology with
+ # 4 NUMA nodes and 2 different NUMA distances.
+ qemu_args: "-smp cpus=16,sockets=2,cores=8
+ -numa node,cpus=0-3,nodeid=0 -numa node,cpus=4-7,nodeid=1
+ -numa node,cpus=8-11,nodeid=2 -numa node,cpus=12-15,nodeid=3
+ -numa dist,src=0,dst=1,val=15 -numa dist,src=2,dst=3,val=15
+ -numa dist,src=0,dst=2,val=20 -numa dist,src=0,dst=3,val=20
+ -numa dist,src=1,dst=2,val=20 -numa dist,src=1,dst=3,val=20"
+
+ # By default we do not set the DNS.
+ # You override the defaults by setting the below.
+ #dns: 1.234.567.89
+
+ # By default we will use a "block" device, but
+ # you can also boot from a "scsi" device.
+ # Just keep in mind your scripts might need to change
+ # As you will have /dev/sda instead of /dev/vda (for block device)
+ boot_dev_type: "block"
+
+ # By default the ssh port is not fixed.
+ # A fixed ssh port makes it easier for automated tests.
+ #ssh_port: 5555
+
+ # To install a different set of packages, provide a command to issue
+ #install_cmds: "apt-get update ; apt-get build-dep -y qemu"
+
+ # Or to skip the install entirely, just provide ""
+ #install_cmds: ""
diff --git a/tests/vm/conf_example_x86.yml b/tests/vm/conf_example_x86.yml
new file mode 100644
index 0000000000..78d3f5830f
--- /dev/null
+++ b/tests/vm/conf_example_x86.yml
@@ -0,0 +1,50 @@
+#
+# Example yaml for use by any of the x86 based scripts in tests/vm.
+# Can be provided as an environment variable QEMU_CONFIG
+#
+qemu-conf:
+
+ # If any of the below are not provided, we will just use the qemu defaults.
+
+ # Login username and password(has to be sudo enabled)
+ guest_user: "qemu"
+ guest_pass: "qemupass"
+
+ # Password for root user can be different from guest.
+ root_pass: "qemupass"
+
+ # Provide default ssh keys of current user.
+ # You need to edit the below for your user.
+ #ssh_key_file: /home/<user>/.ssh/id_rsa
+ #ssh_pub_key_file: /home/<user>/.ssh/id_rsa.pub
+
+ cpu: max
+ machine: pc
+ memory: 8G
+
+ # The below is a example for how to configure NUMA topology with
+ # 4 NUMA nodes and 2 different NUMA distances.
+ qemu_args: "-smp cpus=8,sockets=2,cores=4
+ -object memory-backend-ram,size=4G,policy=bind,host-nodes=0,id=ram-node0
+ -object memory-backend-ram,size=4G,policy=bind,host-nodes=0,id=ram-node1
+ -object memory-backend-ram,size=4G,policy=bind,host-nodes=1,id=ram-node2
+ -object memory-backend-ram,size=4G,policy=bind,host-nodes=1,id=ram-node3
+ -numa node,cpus=0-1,nodeid=0 -numa node,cpus=2-3,nodeid=1
+ -numa node,cpus=4-5,nodeid=2 -numa node,cpus=6-7,nodeid=3
+ -numa dist,src=0,dst=1,val=15 -numa dist,src=2,dst=3,val=15
+ -numa dist,src=0,dst=2,val=20 -numa dist,src=0,dst=3,val=20
+ -numa dist,src=1,dst=2,val=20 -numa dist,src=1,dst=3,val=20"
+
+ # By default we do not set the DNS.
+ # You override the defaults by setting the below.
+ #dns: "1.234.567.89"
+
+ # By default we will use a "block" device, but
+ # you can also boot from a "scsi" device.
+ # Just keep in mind your scripts might need to change
+ # As you will have /dev/sda instead of /dev/vda (for block device)
+ boot_dev_type: "block"
+
+ # By default the ssh port is not fixed.
+ # A fixed ssh port makes it easier for automated tests.
+ ssh_port: 5555
--
2.17.1
^ permalink raw reply related
* [pull request][net V2 0/7] mlx5 fixes 2020-05-28
From: Saeed Mahameed @ 2020-05-29 20:46 UTC (permalink / raw)
To: David S. Miller, kuba; +Cc: netdev, Saeed Mahameed
Hi Dave/Jakub,
This series introduces some fixes to mlx5 driver.
v1->v2:
- Fix bad sha1, Jakub.
- Added one more patch by Pablo.
net/mlx5e: replace EINVAL in mlx5e_flower_parse_meta()
Nothing major, the only patch worth mentioning is the suspend/resume crash
fix by adding the missing pci device handlers, the fix is very straight
forward and as Dexuan already expressed, the patch is important for Azure
users to avoid crash on VM hibernation, patch is marked for -stable v4.6
below.
Conflict note:
('net/mlx5e: Fix MLX5_TC_CT dependencies') has a trivial one line conflict
with current net-next, which can be resolved by simply using the line from
net-next.
Please pull and let me know if there is any problem.
For -stable v4.6
('net/mlx5: Fix crash upon suspend/resume')
For -stable v5.6
('net/mlx5e: replace EINVAL in mlx5e_flower_parse_meta()')
Thanks,
Saeed.
---
The following changes since commit 7c6d2ecbda83150b2036a2b36b21381ad4667762:
net: be more gentle about silly gso requests coming from user (2020-05-28 16:31:30 -0700)
are available in the Git repository at:
git://git.kernel.org/pub/scm/linux/kernel/git/saeed/linux.git tags/mlx5-fixes-2020-05-28
for you to fetch changes up to a683012a8e77675a1947cc8f11f97cdc1d5bb769:
net/mlx5e: replace EINVAL in mlx5e_flower_parse_meta() (2020-05-29 13:07:54 -0700)
----------------------------------------------------------------
mlx5-fixes-2020-05-28
----------------------------------------------------------------
Aya Levin (1):
net/mlx5e: Fix arch depending casting issue in FEC
Maor Dickman (1):
net/mlx5e: Remove warning "devices are not on same switch HW"
Mark Bloch (1):
net/mlx5: Fix crash upon suspend/resume
Pablo Neira Ayuso (1):
net/mlx5e: replace EINVAL in mlx5e_flower_parse_meta()
Roi Dayan (1):
net/mlx5e: Fix stats update for matchall classifier
Tal Gilboa (1):
net/mlx5e: Properly set default values when disabling adaptive moderation
Vlad Buslov (1):
net/mlx5e: Fix MLX5_TC_CT dependencies
drivers/net/ethernet/mellanox/mlx5/core/Kconfig | 2 +-
drivers/net/ethernet/mellanox/mlx5/core/en.h | 10 +++---
drivers/net/ethernet/mellanox/mlx5/core/en/port.c | 24 +++++++------
.../net/ethernet/mellanox/mlx5/core/en_ethtool.c | 41 +++++++++++++++-------
drivers/net/ethernet/mellanox/mlx5/core/en_main.c | 20 +++++++----
drivers/net/ethernet/mellanox/mlx5/core/en_tc.c | 12 +++----
drivers/net/ethernet/mellanox/mlx5/core/main.c | 18 ++++++++++
7 files changed, 84 insertions(+), 43 deletions(-)
^ permalink raw reply
* [net V2 1/7] net/mlx5: Fix crash upon suspend/resume
From: Saeed Mahameed @ 2020-05-29 20:46 UTC (permalink / raw)
To: David S. Miller, kuba
Cc: netdev, Mark Bloch, Dexuan Cui, Moshe Shemesh, Saeed Mahameed
In-Reply-To: <20200529204610.253456-1-saeedm@mellanox.com>
From: Mark Bloch <markb@mellanox.com>
Currently a Linux system with the mlx5 NIC always crashes upon
hibernation - suspend/resume.
Add basic callbacks so the NIC could be suspended and resumed.
Fixes: 9603b61de1ee ("mlx5: Move pci device handling from mlx5_ib to mlx5_core")
Tested-by: Dexuan Cui <decui@microsoft.com>
Signed-off-by: Mark Bloch <markb@mellanox.com>
Reviewed-by: Moshe Shemesh <moshe@mellanox.com>
Signed-off-by: Saeed Mahameed <saeedm@mellanox.com>
---
drivers/net/ethernet/mellanox/mlx5/core/main.c | 18 ++++++++++++++++++
1 file changed, 18 insertions(+)
diff --git a/drivers/net/ethernet/mellanox/mlx5/core/main.c b/drivers/net/ethernet/mellanox/mlx5/core/main.c
index c1618b818f3ab..17f818a540903 100644
--- a/drivers/net/ethernet/mellanox/mlx5/core/main.c
+++ b/drivers/net/ethernet/mellanox/mlx5/core/main.c
@@ -1549,6 +1549,22 @@ static void shutdown(struct pci_dev *pdev)
mlx5_pci_disable_device(dev);
}
+static int mlx5_suspend(struct pci_dev *pdev, pm_message_t state)
+{
+ struct mlx5_core_dev *dev = pci_get_drvdata(pdev);
+
+ mlx5_unload_one(dev, false);
+
+ return 0;
+}
+
+static int mlx5_resume(struct pci_dev *pdev)
+{
+ struct mlx5_core_dev *dev = pci_get_drvdata(pdev);
+
+ return mlx5_load_one(dev, false);
+}
+
static const struct pci_device_id mlx5_core_pci_table[] = {
{ PCI_VDEVICE(MELLANOX, PCI_DEVICE_ID_MELLANOX_CONNECTIB) },
{ PCI_VDEVICE(MELLANOX, 0x1012), MLX5_PCI_DEV_IS_VF}, /* Connect-IB VF */
@@ -1592,6 +1608,8 @@ static struct pci_driver mlx5_core_driver = {
.id_table = mlx5_core_pci_table,
.probe = init_one,
.remove = remove_one,
+ .suspend = mlx5_suspend,
+ .resume = mlx5_resume,
.shutdown = shutdown,
.err_handler = &mlx5_err_handler,
.sriov_configure = mlx5_core_sriov_configure,
--
2.26.2
^ permalink raw reply related
* [Buildroot] [git commit branch/next] package/{mesa3d, mesa3d-headers}: bump version to 20.0.7
From: Thomas Petazzoni @ 2020-05-29 20:46 UTC (permalink / raw)
To: buildroot
commit: https://git.buildroot.net/buildroot/commit/?id=08c8281290844b38d640e11d32990b39533d6227
branch: https://git.buildroot.net/buildroot/commit/?id=refs/heads/next
Signed-off-by: Bernd Kuhls <bernd.kuhls@t-online.de>
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@bootlin.com>
---
| 2 +-
package/mesa3d/mesa3d.hash | 6 +++---
package/mesa3d/mesa3d.mk | 2 +-
3 files changed, 5 insertions(+), 5 deletions(-)
--git a/package/mesa3d-headers/mesa3d-headers.mk b/package/mesa3d-headers/mesa3d-headers.mk
index c1686aa6fd..51b10acdb5 100644
--- a/package/mesa3d-headers/mesa3d-headers.mk
+++ b/package/mesa3d-headers/mesa3d-headers.mk
@@ -12,7 +12,7 @@ endif
# Not possible to directly refer to mesa3d variables, because of
# first/second expansion trickery...
-MESA3D_HEADERS_VERSION = 20.0.6
+MESA3D_HEADERS_VERSION = 20.0.7
MESA3D_HEADERS_SOURCE = mesa-$(MESA3D_HEADERS_VERSION).tar.xz
MESA3D_HEADERS_SITE = https://mesa.freedesktop.org/archive
MESA3D_HEADERS_DL_SUBDIR = mesa3d
diff --git a/package/mesa3d/mesa3d.hash b/package/mesa3d/mesa3d.hash
index dec022c1e9..0a6d0c5a82 100644
--- a/package/mesa3d/mesa3d.hash
+++ b/package/mesa3d/mesa3d.hash
@@ -1,6 +1,6 @@
-# From https://lists.freedesktop.org/archives/mesa-announce/2020-April/000579.html
-sha256 30b5d8e9201a01a0e88e18bb79850e67b1d28443b34c4c5cacad4bd10f668b96 mesa-20.0.6.tar.xz
-sha512 a93dc3ed57ed7469b7c60cdbdcf4f29c5da4ec3986171c7b534e009e136ca21fec16207ffab38a6747437a9b1060e2e6c4b74c4e5cdc168b9aba0fc1940b5e90 mesa-20.0.6.tar.xz
+# From https://lists.freedesktop.org/archives/mesa-announce/2020-May/000583.html
+sha256 fe6e258fe772c3cd2ac01741bf7408058c3ac02d66acff9a6e669bd72e3ea178 mesa-20.0.7.tar.xz
+sha512 00baae50f14bf2b08b5654dffb11cf67499dc1825e1700b137fb5719e767e0e78e789979df2c194f677ea9c5e531f34965d47b9e37c239944c38d0570c7a9685 mesa-20.0.7.tar.xz
# License
sha256 1ddae7da415352a5b5360ff3a9d7ecf23ba81408f62eeecce0011f32e3ef9da6 docs/license.html
diff --git a/package/mesa3d/mesa3d.mk b/package/mesa3d/mesa3d.mk
index 531dcf5b81..5304b05de0 100644
--- a/package/mesa3d/mesa3d.mk
+++ b/package/mesa3d/mesa3d.mk
@@ -5,7 +5,7 @@
################################################################################
# When updating the version, please also update mesa3d-headers
-MESA3D_VERSION = 20.0.6
+MESA3D_VERSION = 20.0.7
MESA3D_SOURCE = mesa-$(MESA3D_VERSION).tar.xz
MESA3D_SITE = https://mesa.freedesktop.org/archive
MESA3D_LICENSE = MIT, SGI, Khronos
^ permalink raw reply related
* [Buildroot] [git commit] package/{mesa3d, mesa3d-headers}: bump version to 20.0.7
From: Thomas Petazzoni @ 2020-05-29 20:46 UTC (permalink / raw)
To: buildroot
commit: https://git.buildroot.net/buildroot/commit/?id=08c8281290844b38d640e11d32990b39533d6227
branch: https://git.buildroot.net/buildroot/commit/?id=refs/heads/master
Signed-off-by: Bernd Kuhls <bernd.kuhls@t-online.de>
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@bootlin.com>
---
| 2 +-
package/mesa3d/mesa3d.hash | 6 +++---
package/mesa3d/mesa3d.mk | 2 +-
3 files changed, 5 insertions(+), 5 deletions(-)
--git a/package/mesa3d-headers/mesa3d-headers.mk b/package/mesa3d-headers/mesa3d-headers.mk
index c1686aa6fd..51b10acdb5 100644
--- a/package/mesa3d-headers/mesa3d-headers.mk
+++ b/package/mesa3d-headers/mesa3d-headers.mk
@@ -12,7 +12,7 @@ endif
# Not possible to directly refer to mesa3d variables, because of
# first/second expansion trickery...
-MESA3D_HEADERS_VERSION = 20.0.6
+MESA3D_HEADERS_VERSION = 20.0.7
MESA3D_HEADERS_SOURCE = mesa-$(MESA3D_HEADERS_VERSION).tar.xz
MESA3D_HEADERS_SITE = https://mesa.freedesktop.org/archive
MESA3D_HEADERS_DL_SUBDIR = mesa3d
diff --git a/package/mesa3d/mesa3d.hash b/package/mesa3d/mesa3d.hash
index dec022c1e9..0a6d0c5a82 100644
--- a/package/mesa3d/mesa3d.hash
+++ b/package/mesa3d/mesa3d.hash
@@ -1,6 +1,6 @@
-# From https://lists.freedesktop.org/archives/mesa-announce/2020-April/000579.html
-sha256 30b5d8e9201a01a0e88e18bb79850e67b1d28443b34c4c5cacad4bd10f668b96 mesa-20.0.6.tar.xz
-sha512 a93dc3ed57ed7469b7c60cdbdcf4f29c5da4ec3986171c7b534e009e136ca21fec16207ffab38a6747437a9b1060e2e6c4b74c4e5cdc168b9aba0fc1940b5e90 mesa-20.0.6.tar.xz
+# From https://lists.freedesktop.org/archives/mesa-announce/2020-May/000583.html
+sha256 fe6e258fe772c3cd2ac01741bf7408058c3ac02d66acff9a6e669bd72e3ea178 mesa-20.0.7.tar.xz
+sha512 00baae50f14bf2b08b5654dffb11cf67499dc1825e1700b137fb5719e767e0e78e789979df2c194f677ea9c5e531f34965d47b9e37c239944c38d0570c7a9685 mesa-20.0.7.tar.xz
# License
sha256 1ddae7da415352a5b5360ff3a9d7ecf23ba81408f62eeecce0011f32e3ef9da6 docs/license.html
diff --git a/package/mesa3d/mesa3d.mk b/package/mesa3d/mesa3d.mk
index 531dcf5b81..5304b05de0 100644
--- a/package/mesa3d/mesa3d.mk
+++ b/package/mesa3d/mesa3d.mk
@@ -5,7 +5,7 @@
################################################################################
# When updating the version, please also update mesa3d-headers
-MESA3D_VERSION = 20.0.6
+MESA3D_VERSION = 20.0.7
MESA3D_SOURCE = mesa-$(MESA3D_VERSION).tar.xz
MESA3D_SITE = https://mesa.freedesktop.org/archive
MESA3D_LICENSE = MIT, SGI, Khronos
^ permalink raw reply related
* [net V2 2/7] net/mlx5e: Fix stats update for matchall classifier
From: Saeed Mahameed @ 2020-05-29 20:46 UTC (permalink / raw)
To: David S. Miller, kuba; +Cc: netdev, Roi Dayan, Saeed Mahameed
In-Reply-To: <20200529204610.253456-1-saeedm@mellanox.com>
From: Roi Dayan <roid@mellanox.com>
It's bytes, packets, lastused.
Fixes: fcb64c0f5640 ("net/mlx5: E-Switch, add ingress rate support")
Signed-off-by: Roi Dayan <roid@mellanox.com>
Signed-off-by: Saeed Mahameed <saeedm@mellanox.com>
---
drivers/net/ethernet/mellanox/mlx5/core/en_tc.c | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/drivers/net/ethernet/mellanox/mlx5/core/en_tc.c b/drivers/net/ethernet/mellanox/mlx5/core/en_tc.c
index 5bcf95fcdd59f..cac36c27c7fa4 100644
--- a/drivers/net/ethernet/mellanox/mlx5/core/en_tc.c
+++ b/drivers/net/ethernet/mellanox/mlx5/core/en_tc.c
@@ -4614,7 +4614,7 @@ void mlx5e_tc_stats_matchall(struct mlx5e_priv *priv,
dpkts = cur_stats.rx_packets - rpriv->prev_vf_vport_stats.rx_packets;
dbytes = cur_stats.rx_bytes - rpriv->prev_vf_vport_stats.rx_bytes;
rpriv->prev_vf_vport_stats = cur_stats;
- flow_stats_update(&ma->stats, dpkts, dbytes, jiffies,
+ flow_stats_update(&ma->stats, dbytes, dpkts, jiffies,
FLOW_ACTION_HW_STATS_DELAYED);
}
--
2.26.2
^ permalink raw reply related
* [net V2 3/7] net/mlx5e: Remove warning "devices are not on same switch HW"
From: Saeed Mahameed @ 2020-05-29 20:46 UTC (permalink / raw)
To: David S. Miller, kuba; +Cc: netdev, Maor Dickman, Roi Dayan, Saeed Mahameed
In-Reply-To: <20200529204610.253456-1-saeedm@mellanox.com>
From: Maor Dickman <maord@mellanox.com>
On tunnel decap rule insertion, the indirect mechanism will attempt to
offload the rule on all uplink representors which will trigger the
"devices are not on same switch HW, can't offload forwarding" message
for the uplink which isn't on the same switch HW as the VF representor.
The above flow is valid and shouldn't cause warning message,
fix by removing the warning and only report this flow using extack.
Fixes: 321348475d54 ("net/mlx5e: Fix allowed tc redirect merged eswitch offload cases")
Signed-off-by: Maor Dickman <maord@mellanox.com>
Reviewed-by: Roi Dayan <roid@mellanox.com>
Signed-off-by: Saeed Mahameed <saeedm@mellanox.com>
---
drivers/net/ethernet/mellanox/mlx5/core/en_tc.c | 4 ----
1 file changed, 4 deletions(-)
diff --git a/drivers/net/ethernet/mellanox/mlx5/core/en_tc.c b/drivers/net/ethernet/mellanox/mlx5/core/en_tc.c
index cac36c27c7fa4..6e7b2ce29d411 100644
--- a/drivers/net/ethernet/mellanox/mlx5/core/en_tc.c
+++ b/drivers/net/ethernet/mellanox/mlx5/core/en_tc.c
@@ -3849,10 +3849,6 @@ static int parse_tc_fdb_actions(struct mlx5e_priv *priv,
if (!mlx5e_is_valid_eswitch_fwd_dev(priv, out_dev)) {
NL_SET_ERR_MSG_MOD(extack,
"devices are not on same switch HW, can't offload forwarding");
- netdev_warn(priv->netdev,
- "devices %s %s not on same switch HW, can't offload forwarding\n",
- priv->netdev->name,
- out_dev->name);
return -EOPNOTSUPP;
}
--
2.26.2
^ permalink raw reply related
* [net V2 4/7] net/mlx5e: Fix arch depending casting issue in FEC
From: Saeed Mahameed @ 2020-05-29 20:46 UTC (permalink / raw)
To: David S. Miller, kuba; +Cc: netdev, Aya Levin, Tariq Toukan, Saeed Mahameed
In-Reply-To: <20200529204610.253456-1-saeedm@mellanox.com>
From: Aya Levin <ayal@mellanox.com>
Change type of active_fec to u32 to match the type expected by
mlx5e_get_fec_mode. Copy active_fec and configured_fec values to
unsigned long before preforming bitwise manipulations.
Take the same approach when configuring FEC over 50G link modes: copy
the policy into an unsigned long and only than preform bitwise
operations.
Fixes: 2132b71f78d2 ("net/mlx5e: Advertise globaly supported FEC modes")
Signed-off-by: Aya Levin <ayal@mellanox.com>
Reviewed-by: Tariq Toukan <tariqt@mellanox.com>
Signed-off-by: Saeed Mahameed <saeedm@mellanox.com>
---
.../net/ethernet/mellanox/mlx5/core/en/port.c | 24 ++++++++++---------
.../ethernet/mellanox/mlx5/core/en_ethtool.c | 20 +++++++++-------
2 files changed, 24 insertions(+), 20 deletions(-)
diff --git a/drivers/net/ethernet/mellanox/mlx5/core/en/port.c b/drivers/net/ethernet/mellanox/mlx5/core/en/port.c
index 2c4a670c8ffd4..2a8950b3056f9 100644
--- a/drivers/net/ethernet/mellanox/mlx5/core/en/port.c
+++ b/drivers/net/ethernet/mellanox/mlx5/core/en/port.c
@@ -369,17 +369,19 @@ enum mlx5e_fec_supported_link_mode {
*_policy = MLX5_GET(pplm_reg, _buf, fec_override_admin_##link); \
} while (0)
-#define MLX5E_FEC_OVERRIDE_ADMIN_50G_POLICY(buf, policy, write, link) \
- do { \
- u16 *__policy = &(policy); \
- bool _write = (write); \
- \
- if (_write && *__policy) \
- *__policy = find_first_bit((u_long *)__policy, \
- sizeof(u16) * BITS_PER_BYTE);\
- MLX5E_FEC_OVERRIDE_ADMIN_POLICY(buf, *__policy, _write, link); \
- if (!_write && *__policy) \
- *__policy = 1 << *__policy; \
+#define MLX5E_FEC_OVERRIDE_ADMIN_50G_POLICY(buf, policy, write, link) \
+ do { \
+ unsigned long policy_long; \
+ u16 *__policy = &(policy); \
+ bool _write = (write); \
+ \
+ policy_long = *__policy; \
+ if (_write && *__policy) \
+ *__policy = find_first_bit(&policy_long, \
+ sizeof(policy_long) * BITS_PER_BYTE);\
+ MLX5E_FEC_OVERRIDE_ADMIN_POLICY(buf, *__policy, _write, link); \
+ if (!_write && *__policy) \
+ *__policy = 1 << *__policy; \
} while (0)
/* get/set FEC admin field for a given speed */
diff --git a/drivers/net/ethernet/mellanox/mlx5/core/en_ethtool.c b/drivers/net/ethernet/mellanox/mlx5/core/en_ethtool.c
index 6d703ddee4e27..6f582eb83e54f 100644
--- a/drivers/net/ethernet/mellanox/mlx5/core/en_ethtool.c
+++ b/drivers/net/ethernet/mellanox/mlx5/core/en_ethtool.c
@@ -665,11 +665,12 @@ static const u32 pplm_fec_2_ethtool_linkmodes[] = {
static int get_fec_supported_advertised(struct mlx5_core_dev *dev,
struct ethtool_link_ksettings *link_ksettings)
{
- u_long active_fec = 0;
+ unsigned long active_fec_long;
+ u32 active_fec;
u32 bitn;
int err;
- err = mlx5e_get_fec_mode(dev, (u32 *)&active_fec, NULL);
+ err = mlx5e_get_fec_mode(dev, &active_fec, NULL);
if (err)
return (err == -EOPNOTSUPP) ? 0 : err;
@@ -682,10 +683,11 @@ static int get_fec_supported_advertised(struct mlx5_core_dev *dev,
MLX5E_ADVERTISE_SUPPORTED_FEC(MLX5E_FEC_LLRS_272_257_1,
ETHTOOL_LINK_MODE_FEC_LLRS_BIT);
+ active_fec_long = active_fec;
/* active fec is a bit set, find out which bit is set and
* advertise the corresponding ethtool bit
*/
- bitn = find_first_bit(&active_fec, sizeof(u32) * BITS_PER_BYTE);
+ bitn = find_first_bit(&active_fec_long, sizeof(active_fec_long) * BITS_PER_BYTE);
if (bitn < ARRAY_SIZE(pplm_fec_2_ethtool_linkmodes))
__set_bit(pplm_fec_2_ethtool_linkmodes[bitn],
link_ksettings->link_modes.advertising);
@@ -1517,8 +1519,8 @@ static int mlx5e_get_fecparam(struct net_device *netdev,
{
struct mlx5e_priv *priv = netdev_priv(netdev);
struct mlx5_core_dev *mdev = priv->mdev;
- u16 fec_configured = 0;
- u32 fec_active = 0;
+ u16 fec_configured;
+ u32 fec_active;
int err;
err = mlx5e_get_fec_mode(mdev, &fec_active, &fec_configured);
@@ -1526,14 +1528,14 @@ static int mlx5e_get_fecparam(struct net_device *netdev,
if (err)
return err;
- fecparam->active_fec = pplm2ethtool_fec((u_long)fec_active,
- sizeof(u32) * BITS_PER_BYTE);
+ fecparam->active_fec = pplm2ethtool_fec((unsigned long)fec_active,
+ sizeof(unsigned long) * BITS_PER_BYTE);
if (!fecparam->active_fec)
return -EOPNOTSUPP;
- fecparam->fec = pplm2ethtool_fec((u_long)fec_configured,
- sizeof(u16) * BITS_PER_BYTE);
+ fecparam->fec = pplm2ethtool_fec((unsigned long)fec_configured,
+ sizeof(unsigned long) * BITS_PER_BYTE);
return 0;
}
--
2.26.2
^ permalink raw reply related
* Re: [dpdk-dev] mlx5 & pdump: convert HW timestamps to nanoseconds
From: N. Benes @ 2020-05-29 20:46 UTC (permalink / raw)
To: dev
In-Reply-To: <91af9f42-9477-b27f-c5c0-cb0e44a95573@kth.se>
Hi everyone,
Tom Barbette:
>
> Le 22/05/2020 à 20:43, PATRICK KEROULAS a écrit :
>>>>>> mlx5 part of libibverbs includes a ts-to-ns converter which takes the
>>>>>> instantaneous clock info. It's unused in dpdk so far. I've tested
>>>>>> it in the
>>>>>> device/port init routine and the result looks reliable. Since this
>>>>>> approach
>>>>>> looks very simple, compared to the time sync mechanism, I'm trying to
>>>>>> integrate.
>>>>>>
>>>>>> The conversion should occur in the primary process (testpmd) I
>>>>>> suppose.
>>>>>> 1) The needed clock info derives from ethernet device. Is it
>>>>>> possible to
>>>>>> access that struct from a rx callback?
>>>>>> 2) how to attach the nanosecond to mbuf so that `pdump` catches it?
>>>>>> (workaround: copy `mbuf->udata64` in forwarded packets.)
>>>>>> 3) any other idea?
>>>>> The timestamp is carried in mbuf.
>>>>> Then the conversion must be done by the ethdev caller (application or
>>>>> any other upper layer).
>>>> What if the converter function needs a clock_info?
>>>> https://github.com/linux-rdma/rdma-core/blob/7af01c79e00555207dee6132d72e7bfc1bb5485e/providers/mlx5/mlx5dv.h#L1201
>>>>
>>>> I'm affraid this info may change by the time the converter is called
>>>> by upper layer.
>>> Indeed, the clock in the device is not an atomic one :)
>>> We need to adjust the time conversion continuously.
>>> I am not an expert of time synchronization, so I add more people Cc
>>> who could help for having a precise timestamp.
>> Thanks Thomas.
>> Not sure this is a synchronization issue. We have dedicated processes
>> (linuxptp) to keep both NIC and sys clocks in sync with an external
>> clock.
>> It is "just" a matter of unit conversion.
>>
>> If it has to be performed in dpdk-pdump, I would need some help to
>> retrieve mlx5_clock_info from inside a secondary process. Looking at
>> mlx5_read_clock(), this info is extracted from ibv_context which looks
>> reachable in a primary process only (segfault, if I try in pdump).
The normal phc2sys can not only synchronise NIC -> system but also sys
-> NIC and (I believe it does but have not tried) NIC1 -> NIC2.
If I understand your proposal correctly, you want to use a free running
NIC counter and calibrate out the drift afterwards.
It may be easier to adapt phc2sys to use a NIC through DPDK and sync the
NIC's timewheel/VCO in a proven/reliable manner (e.g. low pass filtering
excursions). Then you could directly use the NIC counter value.
> I don't know about the integrated ts-to-ns, but we implemented a
> translation mechanism that mimics what NTP does in Linux to translate a
> given clock (TSC at first) to a wall time. You'll find more info at
> https://orbi.uliege.be/bitstream/2268/226257/1/thesis.pdf chapter
> 3.4.1. This is an often forgotten matter, as we saw in real switches
> that the time spent in time-related VDSO is enormous.
Do you have measurements of vDSO clock_gettime and how much is
"enormous" to you?
To my knowledge, clock_gettime via vDSO on Linux only takes a few
nanoseconds in the average case. However, it can go up to ~10 or even
~50 microseconds every few (~10) seconds, depending on the number of
CPUs (for example single vs. dual socket, though my hardware for this
test is quite old, Dell R210-II, R610). Presumably this is when the
kernel locks the struct in VVAR to update the TSC drift compensation
parameters.
Linux clock_gettime implementation is here (different versions):
https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git/tree/arch/x86/vdso/vclock_gettime.c?h=linux-3.10.y#n193
https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git/tree/arch/x86/entry/vdso/vclock_gettime.c?h=linux-4.19.y#n241
https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git/tree/lib/vdso/gettimeofday.c#n98
I use busy waiting on clock_gettime in a packet generator application
(so far 10 GbE only) to pace jumbo frames according to a spec
(simulating the traffic pattern of a to-be-developed hardware with
FPGA), and COTS sniffer hardware with absolute timestamping to verify my
generator's performance. I can observe the above 10-50 us artefacts and
sufficiently good/low (for my needs) average execution time of
clock_gettime. The only sad thing is that TAI clock does not go through
vDSO and therefore I cannot use it.
> We wanted to do a very precise capture too, se we made that clock able
> to synchronize itself with the ConnectX 5 internal clock as a base
> instead of TSC. FYI the clock in CX5 si running at 800MHz, so pure
> nanosecond is impossible, but close enough. It is for that purpose that
> I proposed the rte_eth_read_clock() patch in DPDK. We need to be able to
> read the current clock (like rdtsc() instruction for TSC) to compute the
> frequency.
Doesn't this mean that you need to wait for the PCIe op from the NIC?
Is this really faster than a rdtsc, memory/cache read, integer
multiplication and shift?
Cheers,
nicolas
^ permalink raw reply
* [Buildroot] [git commit branch/next] package/{mesa3d, mesa3d-headers}: bump version to 20.1.0
From: Thomas Petazzoni @ 2020-05-29 20:46 UTC (permalink / raw)
To: buildroot
commit: https://git.buildroot.net/buildroot/commit/?id=9ca15896b742d711d61c92c6406541222468bc4e
branch: https://git.buildroot.net/buildroot/commit/?id=refs/heads/next
Rebased 0006-pan_bo.h-add-time.h-include-for-time_t.patch.
Signed-off-by: Bernd Kuhls <bernd.kuhls@t-online.de>
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@bootlin.com>
---
| 2 +-
.../0006-pan_bo.h-add-time.h-include-for-time_t.patch | 16 +++++++++-------
package/mesa3d/mesa3d.hash | 6 +++---
package/mesa3d/mesa3d.mk | 2 +-
4 files changed, 14 insertions(+), 12 deletions(-)
--git a/package/mesa3d-headers/mesa3d-headers.mk b/package/mesa3d-headers/mesa3d-headers.mk
index 51b10acdb5..008c2c3cf4 100644
--- a/package/mesa3d-headers/mesa3d-headers.mk
+++ b/package/mesa3d-headers/mesa3d-headers.mk
@@ -12,7 +12,7 @@ endif
# Not possible to directly refer to mesa3d variables, because of
# first/second expansion trickery...
-MESA3D_HEADERS_VERSION = 20.0.7
+MESA3D_HEADERS_VERSION = 20.1.0
MESA3D_HEADERS_SOURCE = mesa-$(MESA3D_HEADERS_VERSION).tar.xz
MESA3D_HEADERS_SITE = https://mesa.freedesktop.org/archive
MESA3D_HEADERS_DL_SUBDIR = mesa3d
diff --git a/package/mesa3d/0006-pan_bo.h-add-time.h-include-for-time_t.patch b/package/mesa3d/0006-pan_bo.h-add-time.h-include-for-time_t.patch
index 1586b26bba..f90fb85aca 100644
--- a/package/mesa3d/0006-pan_bo.h-add-time.h-include-for-time_t.patch
+++ b/package/mesa3d/0006-pan_bo.h-add-time.h-include-for-time_t.patch
@@ -8,24 +8,26 @@ Content-Transfer-Encoding: 8bit
Fixes:
- ../src/gallium/drivers/panfrost/pan_bo.h:93:9: error: unknown type name ???time_t???
+ ../src/panfrost/encoder/pan_bo.h:93:9: error: unknown type name ???time_t???
Signed-off-by: Peter Seiderer <ps.report@gmx.net>
+[Bernd: rebased on 20.1]
+Signed-off-by: Bernd Kuhls <bernd.kuhls@t-online.de>
---
- src/gallium/drivers/panfrost/pan_bo.h | 1 +
+ src/panfrost/encoder/pan_bo.h | 1 +
1 file changed, 1 insertion(+)
-diff --git a/src/gallium/drivers/panfrost/pan_bo.h b/src/gallium/drivers/panfrost/pan_bo.h
+diff --git a/src/panfrost/encoder/pan_bo.h b/src/panfrost/encoder/pan_bo.h
index 414c356b95c..6dda393095d 100644
---- a/src/gallium/drivers/panfrost/pan_bo.h
-+++ b/src/gallium/drivers/panfrost/pan_bo.h
+--- a/src/panfrost/encoder/pan_bo.h
++++ b/src/panfrost/encoder/pan_bo.h
@@ -29,6 +29,7 @@
#include <panfrost-misc.h>
- #include "pipe/p_state.h"
#include "util/list.h"
+ #include "pan_device.h"
+#include <time.h>
- struct panfrost_screen;
+ /* Flags for allocated memory */
--
2.25.1
diff --git a/package/mesa3d/mesa3d.hash b/package/mesa3d/mesa3d.hash
index 0a6d0c5a82..c8eda7b2ba 100644
--- a/package/mesa3d/mesa3d.hash
+++ b/package/mesa3d/mesa3d.hash
@@ -1,6 +1,6 @@
-# From https://lists.freedesktop.org/archives/mesa-announce/2020-May/000583.html
-sha256 fe6e258fe772c3cd2ac01741bf7408058c3ac02d66acff9a6e669bd72e3ea178 mesa-20.0.7.tar.xz
-sha512 00baae50f14bf2b08b5654dffb11cf67499dc1825e1700b137fb5719e767e0e78e789979df2c194f677ea9c5e531f34965d47b9e37c239944c38d0570c7a9685 mesa-20.0.7.tar.xz
+# From https://lists.freedesktop.org/archives/mesa-announce/2020-May/000585.html
+sha256 2109055d7660514fc4c1bcd861bcba9db00c026119ae222720111732dba27c83 mesa-20.1.0.tar.xz
+sha512 f49230d18febe1bfd7c6282ab95fc244530f5cef56df0f804d8bece8a70bafcb445b8b83df96ad1b4c5af022c4e39a71f19a8f7e47b1fb09ada2b1a1317ff3be mesa-20.1.0.tar.xz
# License
sha256 1ddae7da415352a5b5360ff3a9d7ecf23ba81408f62eeecce0011f32e3ef9da6 docs/license.html
diff --git a/package/mesa3d/mesa3d.mk b/package/mesa3d/mesa3d.mk
index 5304b05de0..abab93bd20 100644
--- a/package/mesa3d/mesa3d.mk
+++ b/package/mesa3d/mesa3d.mk
@@ -5,7 +5,7 @@
################################################################################
# When updating the version, please also update mesa3d-headers
-MESA3D_VERSION = 20.0.7
+MESA3D_VERSION = 20.1.0
MESA3D_SOURCE = mesa-$(MESA3D_VERSION).tar.xz
MESA3D_SITE = https://mesa.freedesktop.org/archive
MESA3D_LICENSE = MIT, SGI, Khronos
^ permalink raw reply related
* [Buildroot] [git commit] package/{mesa3d, mesa3d-headers}: bump version to 20.1.0
From: Thomas Petazzoni @ 2020-05-29 20:46 UTC (permalink / raw)
To: buildroot
commit: https://git.buildroot.net/buildroot/commit/?id=9ca15896b742d711d61c92c6406541222468bc4e
branch: https://git.buildroot.net/buildroot/commit/?id=refs/heads/master
Rebased 0006-pan_bo.h-add-time.h-include-for-time_t.patch.
Signed-off-by: Bernd Kuhls <bernd.kuhls@t-online.de>
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@bootlin.com>
---
| 2 +-
.../0006-pan_bo.h-add-time.h-include-for-time_t.patch | 16 +++++++++-------
package/mesa3d/mesa3d.hash | 6 +++---
package/mesa3d/mesa3d.mk | 2 +-
4 files changed, 14 insertions(+), 12 deletions(-)
--git a/package/mesa3d-headers/mesa3d-headers.mk b/package/mesa3d-headers/mesa3d-headers.mk
index 51b10acdb5..008c2c3cf4 100644
--- a/package/mesa3d-headers/mesa3d-headers.mk
+++ b/package/mesa3d-headers/mesa3d-headers.mk
@@ -12,7 +12,7 @@ endif
# Not possible to directly refer to mesa3d variables, because of
# first/second expansion trickery...
-MESA3D_HEADERS_VERSION = 20.0.7
+MESA3D_HEADERS_VERSION = 20.1.0
MESA3D_HEADERS_SOURCE = mesa-$(MESA3D_HEADERS_VERSION).tar.xz
MESA3D_HEADERS_SITE = https://mesa.freedesktop.org/archive
MESA3D_HEADERS_DL_SUBDIR = mesa3d
diff --git a/package/mesa3d/0006-pan_bo.h-add-time.h-include-for-time_t.patch b/package/mesa3d/0006-pan_bo.h-add-time.h-include-for-time_t.patch
index 1586b26bba..f90fb85aca 100644
--- a/package/mesa3d/0006-pan_bo.h-add-time.h-include-for-time_t.patch
+++ b/package/mesa3d/0006-pan_bo.h-add-time.h-include-for-time_t.patch
@@ -8,24 +8,26 @@ Content-Transfer-Encoding: 8bit
Fixes:
- ../src/gallium/drivers/panfrost/pan_bo.h:93:9: error: unknown type name ???time_t???
+ ../src/panfrost/encoder/pan_bo.h:93:9: error: unknown type name ???time_t???
Signed-off-by: Peter Seiderer <ps.report@gmx.net>
+[Bernd: rebased on 20.1]
+Signed-off-by: Bernd Kuhls <bernd.kuhls@t-online.de>
---
- src/gallium/drivers/panfrost/pan_bo.h | 1 +
+ src/panfrost/encoder/pan_bo.h | 1 +
1 file changed, 1 insertion(+)
-diff --git a/src/gallium/drivers/panfrost/pan_bo.h b/src/gallium/drivers/panfrost/pan_bo.h
+diff --git a/src/panfrost/encoder/pan_bo.h b/src/panfrost/encoder/pan_bo.h
index 414c356b95c..6dda393095d 100644
---- a/src/gallium/drivers/panfrost/pan_bo.h
-+++ b/src/gallium/drivers/panfrost/pan_bo.h
+--- a/src/panfrost/encoder/pan_bo.h
++++ b/src/panfrost/encoder/pan_bo.h
@@ -29,6 +29,7 @@
#include <panfrost-misc.h>
- #include "pipe/p_state.h"
#include "util/list.h"
+ #include "pan_device.h"
+#include <time.h>
- struct panfrost_screen;
+ /* Flags for allocated memory */
--
2.25.1
diff --git a/package/mesa3d/mesa3d.hash b/package/mesa3d/mesa3d.hash
index 0a6d0c5a82..c8eda7b2ba 100644
--- a/package/mesa3d/mesa3d.hash
+++ b/package/mesa3d/mesa3d.hash
@@ -1,6 +1,6 @@
-# From https://lists.freedesktop.org/archives/mesa-announce/2020-May/000583.html
-sha256 fe6e258fe772c3cd2ac01741bf7408058c3ac02d66acff9a6e669bd72e3ea178 mesa-20.0.7.tar.xz
-sha512 00baae50f14bf2b08b5654dffb11cf67499dc1825e1700b137fb5719e767e0e78e789979df2c194f677ea9c5e531f34965d47b9e37c239944c38d0570c7a9685 mesa-20.0.7.tar.xz
+# From https://lists.freedesktop.org/archives/mesa-announce/2020-May/000585.html
+sha256 2109055d7660514fc4c1bcd861bcba9db00c026119ae222720111732dba27c83 mesa-20.1.0.tar.xz
+sha512 f49230d18febe1bfd7c6282ab95fc244530f5cef56df0f804d8bece8a70bafcb445b8b83df96ad1b4c5af022c4e39a71f19a8f7e47b1fb09ada2b1a1317ff3be mesa-20.1.0.tar.xz
# License
sha256 1ddae7da415352a5b5360ff3a9d7ecf23ba81408f62eeecce0011f32e3ef9da6 docs/license.html
diff --git a/package/mesa3d/mesa3d.mk b/package/mesa3d/mesa3d.mk
index 5304b05de0..abab93bd20 100644
--- a/package/mesa3d/mesa3d.mk
+++ b/package/mesa3d/mesa3d.mk
@@ -5,7 +5,7 @@
################################################################################
# When updating the version, please also update mesa3d-headers
-MESA3D_VERSION = 20.0.7
+MESA3D_VERSION = 20.1.0
MESA3D_SOURCE = mesa-$(MESA3D_VERSION).tar.xz
MESA3D_SITE = https://mesa.freedesktop.org/archive
MESA3D_LICENSE = MIT, SGI, Khronos
^ permalink raw reply related
page: next (older) | prev (newer) | latest
- recent:[subjects (threaded)|topics (new)|topics (active)]
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.