Commit Graph

12948 Commits

Author SHA1 Message Date
Gabe Black
d86151e70f systemc: Disable tests which use sensitive_(pos|neg).
Those members are deprecated and not worth supporting.

Change-Id: I30b64b36ba3201bb0bcbb541da512676c2bf8510
Reviewed-on: https://gem5-review.googlesource.com/11357
Reviewed-by: Gabe Black <gabeblack@google.com>
Maintainer: Gabe Black <gabeblack@google.com>
2018-09-05 05:59:47 +00:00
Gabe Black
b6de909f92 systemc: Enable some more sc_simcontext related tests.
Now that we bit the bullet and stubbed out sc_simcontext and related
functions a little bit, we can enable a couple more tests. This change
also adds in some functions the new tests expect sc_simcontext to have.

Change-Id: I00b5cc0c6eb658eb689b9c85ed171f290009768d
Reviewed-on: https://gem5-review.googlesource.com/11356
Reviewed-by: Gabe Black <gabeblack@google.com>
Maintainer: Gabe Black <gabeblack@google.com>
2018-09-05 05:59:23 +00:00
Gabe Black
689f08e7e9 systemc: Add m_cur_val and m_new_val to sc_signal.
These members are referred to in one of the tests.

Change-Id: Iab0110a0e3acf627986664069622704f17b703a1
Reviewed-on: https://gem5-review.googlesource.com/11355
Reviewed-by: Gabe Black <gabeblack@google.com>
Maintainer: Gabe Black <gabeblack@google.com>
2018-09-05 05:59:04 +00:00
Gabe Black
9d7469852d systemc: Add the "implementation defined" vport function.
This function is in an "implementation defined" class body in the spec,
and has a comment next to it which says "(for internal use only)" next
to it, but it is still used directly in one of the tests.

Change-Id: Ib3727c93cc531ddd31a24897291dc7e7c97c2b58
Reviewed-on: https://gem5-review.googlesource.com/11354
Reviewed-by: Gabe Black <gabeblack@google.com>
Maintainer: Gabe Black <gabeblack@google.com>
2018-09-05 05:58:46 +00:00
Gabe Black
1ab49504cf systemc: Add the nonstandard sc_join class and sc_thread_handle type.
Change-Id: I09905bad4797d9c456229afe601006ce16977394
Reviewed-on: https://gem5-review.googlesource.com/11353
Reviewed-by: Gabe Black <gabeblack@google.com>
Maintainer: Gabe Black <gabeblack@google.com>
2018-09-05 05:58:12 +00:00
Sean Wilson
c7c0678cc6 testlib: No catch of custom exceptions in sandbox
Custom exceptions are not always properly pickled which could lead to
the sandbox test executor to crash when it tries to re __init__ pickled
exceptions thrown from the failed test.

Change-Id: I4e2ffe5802dda668b5d61c5a16e0989717121a04
Signed-off-by: Sean Wilson <spwilson27@gmail.com>
Reviewed-on: https://gem5-review.googlesource.com/12167
Reviewed-by: Jason Lowe-Power <jason@lowepower.com>
Maintainer: Jason Lowe-Power <jason@lowepower.com>
2018-09-05 01:04:43 +00:00
Andreas Sandberg
215d5e4096 config: Move KVM CPU checking to CpuConfig helper module
Both se.py and fs.py need to check if a CPU is a KVM CPU. This is
somewhat involved since CPUs can be disabled at compile time. Enable
better code reuse by moving it to the CpuConfig module.

Change-Id: I47b1512ecb62e757399a407a0e41be83b9f83be3
Signed-off-by: Andreas Sandberg <andreas.sandberg@arm.com>
Reviewed-on: https://gem5-review.googlesource.com/12418
Reviewed-by: Jason Lowe-Power <jason@lowepower.com>
Maintainer: Jason Lowe-Power <jason@lowepower.com>
2018-09-03 16:05:46 +00:00
Gabe Black
2b4b94d055 systemc: Minimally implemented the deprecated sc_simcontext.
This is supposed to be deprecated, but is still used in a small way
by the tests.

Change-Id: I94fc32f9e0f03d50c00ce5421926203859064020
Reviewed-on: https://gem5-review.googlesource.com/11352
Reviewed-by: Gabe Black <gabeblack@google.com>
Maintainer: Gabe Black <gabeblack@google.com>
2018-08-28 21:25:32 +00:00
Gabe Black
c564fe0bcc systemc: Add a minimal version of the deprecated sc_process_b.
This type is deprecated, but some tests still rely on it. This change
adds just enough of it to satisfy the tests, and also the several
different mechanisms for retrieving the sc_process_b which refers to
the currently active process.

Change-Id: Id122ae5df23744b5de1e1c97573412f97a73b77a
Reviewed-on: https://gem5-review.googlesource.com/11351
Reviewed-by: Gabe Black <gabeblack@google.com>
Maintainer: Gabe Black <gabeblack@google.com>
2018-08-28 21:24:32 +00:00
Gabe Black
c09bc660be systemc: Add bind() to sc_port_base.
sc_port_base is supposed to be implementation defined, but internal
details of it are relied on by the systemc tests.

Change-Id: I53d84e708a5543a2cf4bd0deffc2efea1c008d97
Reviewed-on: https://gem5-review.googlesource.com/11350
Reviewed-by: Gabe Black <gabeblack@google.com>
Maintainer: Gabe Black <gabeblack@google.com>
2018-08-28 21:24:01 +00:00
Gabe Black
4c8cdccaf0 systemc: Make the verify.py --list option print a total count.
Make the --list option of verify.py print a count of how many tests it
printed. Because --list respects the filter options, this is an easy
way to check how many tests have certain properties.

Change-Id: I03fac349a946631c20c8e6b49e0ad8934872898e
Reviewed-on: https://gem5-review.googlesource.com/11288
Reviewed-by: Gabe Black <gabeblack@google.com>
Maintainer: Gabe Black <gabeblack@google.com>
2018-08-28 21:23:39 +00:00
Gabe Black
6b14e93af0 systemc: Disable a few more tests that aren't going to work.
One would never have worked as far as I can tell, and the others depend
on a feature that breaks building the systemc library.

Change-Id: Ia3db31a15675ca6df2db16362ee2d9c8700cd0af
Reviewed-on: https://gem5-review.googlesource.com/11287
Reviewed-by: Gabe Black <gabeblack@google.com>
Maintainer: Gabe Black <gabeblack@google.com>
2018-08-28 21:23:21 +00:00
Gabe Black
7cab8db5a9 systemc: Disable the phase_callbacks set of tests.
This feature is experimental, nonstandard, and would in some cases be
difficult to implement in gem5.

Change-Id: Ic7fe77e6a2e9dbc5aba06579fb85fd2f055cb6b1
Reviewed-on: https://gem5-review.googlesource.com/11285
Reviewed-by: Gabe Black <gabeblack@google.com>
Maintainer: Gabe Black <gabeblack@google.com>
2018-08-28 21:22:55 +00:00
Gabe Black
9dacb892a5 systemc: Add the nonstandard sc_user exception type.
This type is not in the spec but is used in the tests.

Change-Id: I4537a33b0b5dcb3c72a091276d601c244c4a3862
Reviewed-on: https://gem5-review.googlesource.com/11284
Reviewed-by: Gabe Black <gabeblack@google.com>
Maintainer: Gabe Black <gabeblack@google.com>
2018-08-28 21:22:39 +00:00
Gabe Black
6d9b0de3b5 systemc: Add the nonstandard sc_trace_params and sc_trace_params_vec.
These two types are supposedly only for internal use in the Accellera
implementation based on a big warning in all caps, but they still
appear in the tests and examples in that version of systemc.

Change-Id: Icfb3ffdf1e78988def5dac145172bf28f93d7d38
Reviewed-on: https://gem5-review.googlesource.com/11283
Reviewed-by: Gabe Black <gabeblack@google.com>
Maintainer: Gabe Black <gabeblack@google.com>
2018-08-28 21:22:19 +00:00
Gabe Black
8f04ccbb0e systemc: Make some functions static in conflict with the spec.
The spec is likely wrong in this case since a lot of the other
neighboring functions are static, and the Accellera implementation and
the tests seem to assume they're static.

Change-Id: Ia12a3735497b50f8a2419a52c83ef256416e7bc5
Reviewed-on: https://gem5-review.googlesource.com/11282
Reviewed-by: Gabe Black <gabeblack@google.com>
Maintainer: Gabe Black <gabeblack@google.com>
2018-08-28 21:21:57 +00:00
Gabe Black
48b56f7c3e systemc: Add the nonstandard time_stamp function.
Change-Id: I608c390b125611e5b62483c7e8567bb5479df553
Reviewed-on: https://gem5-review.googlesource.com/11281
Reviewed-by: Gabe Black <gabeblack@google.com>
Maintainer: Gabe Black <gabeblack@google.com>
2018-08-28 21:21:22 +00:00
Gabe Black
098aa356cf systemc: Add the nonstandard sc_hierarchical_name_exists function.
Change-Id: I1340bb6cb0ae29d81b5d73b3dd39ebb11c14802c
Reviewed-on: https://gem5-review.googlesource.com/11280
Reviewed-by: Gabe Black <gabeblack@google.com>
Maintainer: Gabe Black <gabeblack@google.com>
2018-08-28 21:20:59 +00:00
Gabe Black
48a1604941 systemc: Add the nonstandard timed_out function.
Change-Id: If14a5f98f03448c712827b7f92d2a36992541518
Reviewed-on: https://gem5-review.googlesource.com/11279
Reviewed-by: Gabe Black <gabeblack@google.com>
Maintainer: Gabe Black <gabeblack@google.com>
2018-08-28 21:20:26 +00:00
Gabe Black
61cf433946 systemc: Add some deprecated sc_module constructors.
Change-Id: Ibe2bfe63536af33fca6040f4aef999ee928d876b
Reviewed-on: https://gem5-review.googlesource.com/11278
Reviewed-by: Gabe Black <gabeblack@google.com>
Maintainer: Gabe Black <gabeblack@google.com>
2018-08-28 21:19:50 +00:00
Gabe Black
40eb6f9f14 systemc: Add the non-standard sc_time_tuple class.
Change-Id: Ia3d6a6a4ea3383c82605653faac570ced7bebb70
Reviewed-on: https://gem5-review.googlesource.com/11277
Reviewed-by: Gabe Black <gabeblack@google.com>
Maintainer: Gabe Black <gabeblack@google.com>
2018-08-28 21:19:19 +00:00
Gabe Black
47c2918a1f systemc: Add non-standard sc_status constants.
Change-Id: I02f52df318473906062035b188348fb875daad08
Reviewed-on: https://gem5-review.googlesource.com/11276
Reviewed-by: Gabe Black <gabeblack@google.com>
Maintainer: Gabe Black <gabeblack@google.com>
2018-08-28 21:18:27 +00:00
Gabe Black
53779eb12e systemc: Add deprecated sc_time constructors.
Change-Id: Iffae751272302ff2996258a1ab31b086e12bbb8d
Reviewed-on: https://gem5-review.googlesource.com/11275
Reviewed-by: Gabe Black <gabeblack@google.com>
Maintainer: Gabe Black <gabeblack@google.com>
2018-08-28 21:17:57 +00:00
Gabe Black
8622fbf982 systemc: Add an sc_event_finder::find_event method.
The guts of sc_event_finder are supposed to be implementation defined,
but the tests reach in and call this particular method on that class.

Change-Id: I21c18fa68ccce7bc1a13122ee3b452ecb81b713a
Reviewed-on: https://gem5-review.googlesource.com/11274
Reviewed-by: Gabe Black <gabeblack@google.com>
Maintainer: Gabe Black <gabeblack@google.com>
2018-08-28 21:17:13 +00:00
Gabe Black
663f5f6976 systemc: Add some deprecated sc_time factory methods.
Change-Id: I0d9a7040a48b9f0d0079e9daecaf44ea78c186de
Reviewed-on: https://gem5-review.googlesource.com/11273
Reviewed-by: Gabe Black <gabeblack@google.com>
Maintainer: Gabe Black <gabeblack@google.com>
2018-08-28 21:16:56 +00:00
Gabe Black
eba0ab506b systemc: Add some common test include files.
These are "common" in the sense that they're not in a particular test
directory, but I think they're only used by one test.

Change-Id: I4ffd209d04ed0e5253085810913827b87412b302
Reviewed-on: https://gem5-review.googlesource.com/11272
Reviewed-by: Gabe Black <gabeblack@google.com>
Maintainer: Gabe Black <gabeblack@google.com>
2018-08-28 21:16:31 +00:00
Gabe Black
dc0b98dcdc systemc: Add some nonstandard, undocumented sc_report_* functions.
The tests use these functions.

Change-Id: I3cdc10d433d9388742a20fb3a97a1a3efa699e11
Reviewed-on: https://gem5-review.googlesource.com/11271
Reviewed-by: Gabe Black <gabeblack@google.com>
Maintainer: Gabe Black <gabeblack@google.com>
2018-08-28 21:16:00 +00:00
Gabe Black
a3385dadcb base: If valgrind is available, tell it about Fiber stacks.
Valgrind can get confused when  switching stacks between different
Fibers. If valgrind (and its headers) are available, this change adds
calls to some hooks so valgrind knows where the new stacks are and
doesn't report a bunch of false positives.

Change-Id: I00aefe60372be6de7371dec29427d7182dbee7b6
Reviewed-on: https://gem5-review.googlesource.com/12227
Reviewed-by: Giacomo Travaglini <giacomo.travaglini@arm.com>
Reviewed-by: Daniel Carvalho <odanrc@yahoo.com.br>
Maintainer: Gabe Black <gabeblack@google.com>
2018-08-24 18:15:09 +00:00
Giacomo Travaglini
f741bb7cdb cpu: Stream/SubstreamID support in TrafficGen
This patch is adding support for generating memory requests which set
the StreamID/SubstreamID field, so that is possible to emulate devices
attached to an external IOMMU/SMMU with a Traffic generator.

Change-Id: Iea068de581ae7125a9d49314124a08c045c75b49
Signed-off-by: Giacomo Travaglini <giacomo.travaglini@arm.com>
Reviewed-on: https://gem5-review.googlesource.com/12188
2018-08-24 13:47:35 +00:00
Michiel W. van Tol
2b3168021c cpu: Turn BaseTrafficGen numSuppressed into a stat
This is changing numSuppressed from being a warn only variable into
a Stat so that it is visible at the end of simulation.

Change-Id: I934782e796c898bfc0e773cc88c597a68e403272
Reviewed-on: https://gem5-review.googlesource.com/11849
Reviewed-by: Jason Lowe-Power <jason@lowepower.com>
Reviewed-by: Andreas Sandberg <andreas.sandberg@arm.com>
Maintainer: Andreas Sandberg <andreas.sandberg@arm.com>
2018-08-24 13:23:40 +00:00
Stanislaw Czerniawski
50a57c0376 mem: Add StreamID and SubstreamID
This patch adds StreamID and SubstreamID to Request. These fields can
be used by a SMMU/IOMMU model to pick up the correct translation
context for each request and they correspond to an ASID in a device.
For this reason they have been merged together with the request asid
in a union, so that a cpu will set the asid and a device will set
the Stream and Substream ID.

Change-Id: Iac2b5a1ba9c6598ee7635c30845dc68ba6787c34
Signed-off-by: Giacomo Travaglini <giacomo.travaglini@arm.com>
Reviewed-on: https://gem5-review.googlesource.com/12187
Reviewed-by: Anthony Gutierrez <anthony.gutierrez@amd.com>
Reviewed-by: Jason Lowe-Power <jason@lowepower.com>
Maintainer: Jason Lowe-Power <jason@lowepower.com>
2018-08-22 10:43:23 +00:00
Gabe Black
200281b08c systemc: Add deprecated default time unit management functions.
Having default time units is deprecated, and so are the functions that
manage them.

Change-Id: Ie21f9a5fca9868dd4f0adcd9f32c568fbec1fa72
Reviewed-on: https://gem5-review.googlesource.com/11270
Reviewed-by: Gabe Black <gabeblack@google.com>
Maintainer: Gabe Black <gabeblack@google.com>
2018-08-22 01:08:38 +00:00
Gabe Black
9e35fe2e77 systemc: Add deprecated notify_delayed functions.
Change-Id: I8ec68920b35f9207b6856a0b1ddfdf7545b7148a
Reviewed-on: https://gem5-review.googlesource.com/11269
Reviewed-by: Gabe Black <gabeblack@google.com>
Maintainer: Gabe Black <gabeblack@google.com>
2018-08-22 01:08:06 +00:00
Gabe Black
6022801572 systemc: Add some nonstandard cthread related sc_module functions.
Change-Id: I73f9868b80f9b75e7bd90df6e894daea60a203a1
Reviewed-on: https://gem5-review.googlesource.com/11268
Reviewed-by: Gabe Black <gabeblack@google.com>
Maintainer: Gabe Black <gabeblack@google.com>
2018-08-22 01:07:24 +00:00
Gabe Black
8bc2186369 systemc: Add the deprecated sc_trace_delta_cycles function.
This function enables or disables tracing of delta cycles in a
particular trace file.

Change-Id: I53164a792856d071de1fefc76977cca8eb5fd735
Reviewed-on: https://gem5-review.googlesource.com/11267
Reviewed-by: Gabe Black <gabeblack@google.com>
Maintainer: Gabe Black <gabeblack@google.com>
2018-08-22 01:06:41 +00:00
Gabe Black
0801de860c systemc: Add a nonstandard sc_signal constructor.
This constructor takes an initial value to set the sc_signal to, and
is used in the tests.

Change-Id: I197218846d9a79f9237238c78b1bbd8a7f55443f
Reviewed-on: https://gem5-review.googlesource.com/11266
Reviewed-by: Gabe Black <gabeblack@google.com>
Maintainer: Gabe Black <gabeblack@google.com>
2018-08-22 01:05:59 +00:00
Gabe Black
fc008a085d systemc: Add some nonstandard (get|set)_catch_actions functions.
These are used by the tests.

Change-Id: I09bbe81854f0faa524a4c6aa0ef31d80e4a8de24
Reviewed-on: https://gem5-review.googlesource.com/11265
Reviewed-by: Gabe Black <gabeblack@google.com>
Maintainer: Gabe Black <gabeblack@google.com>
2018-08-22 01:05:20 +00:00
Gabe Black
5a4d84ed63 systemc: Exclude another test which exercises sc_string.
Change-Id: Ic05fe3d34ef403dd6ad9348478f73c6ed50cc7bc
Reviewed-on: https://gem5-review.googlesource.com/11264
Reviewed-by: Gabe Black <gabeblack@google.com>
Maintainer: Gabe Black <gabeblack@google.com>
2018-08-22 01:04:45 +00:00
Gabe Black
05e4878798 systemc: Add the nonstandard, undocumented halt function.
Used in the tests.

Change-Id: I9b4f10600a50e0def1b5d55428cb4ad49e401295
Reviewed-on: https://gem5-review.googlesource.com/11263
Reviewed-by: Gabe Black <gabeblack@google.com>
Maintainer: Gabe Black <gabeblack@google.com>
2018-08-22 01:04:02 +00:00
Gabe Black
00b411d8d2 systemc: Define the nonstandard sc_event_queue_port typedef.
Used in the tests.

Change-Id: Ic4b4a313b2bd02e5cb3ec07c4f7ee79219728881
Reviewed-on: https://gem5-review.googlesource.com/11262
Reviewed-by: Gabe Black <gabeblack@google.com>
Maintainer: Gabe Black <gabeblack@google.com>
2018-08-22 01:03:23 +00:00
Gabe Black
3b7441e9f7 systemc: Add some nonstandard SC_WAIT* macros.
These are not in the standard, but are defined by Accellera and used in
the tests.

Change-Id: I4cbddac4eb75c58d8ae3eb77d1f291dac3c51cd6
Reviewed-on: https://gem5-review.googlesource.com/11261
Reviewed-by: Gabe Black <gabeblack@google.com>
Maintainer: Gabe Black <gabeblack@google.com>
2018-08-22 01:02:43 +00:00
Gabe Black
d5983ac03f systemc: Exclude a test which probably could never compile?
Part of this test just seems to be missing, so I'm not sure how it
would ever actually work.

Change-Id: I5350fea1dfd288e34e01afcd3780b2ffc3312344
Reviewed-on: https://gem5-review.googlesource.com/11260
Reviewed-by: Gabe Black <gabeblack@google.com>
Maintainer: Gabe Black <gabeblack@google.com>
2018-08-22 01:01:49 +00:00
Gabe Black
29d3ebd5ba systemc: Add nonstandard sc_trace-s for sc_event and sc_time.
These are not in the standard but are defined by Accellera and are
used in the regression tests.

Change-Id: Idb8358530b1135526c52733e628461a17308e216
Reviewed-on: https://gem5-review.googlesource.com/11259
Reviewed-by: Gabe Black <gabeblack@google.com>
Maintainer: Gabe Black <gabeblack@google.com>
2018-08-22 01:00:49 +00:00
Gabe Black
b29a2d00b8 systemc: Add a filter file for the tests which are expected to work.
Not all of the tests this filter accepts actually work, but we haven't
yet explicitly decided not to try to make them tests work yet.

Recording this in a file makes test runs more repeateable, and creates
a place to record why certain tests or groups of tests are being
excluded.

Change-Id: I91d44b6500a3e8ff5d5808222ce03f138374cf8b
Reviewed-on: https://gem5-review.googlesource.com/11258
Reviewed-by: Gabe Black <gabeblack@google.com>
Maintainer: Gabe Black <gabeblack@google.com>
2018-08-22 00:59:49 +00:00
Gabe Black
d3abc7e724 systemc: Add a filter-file option.
The --filter option is very useful, but can get to be long and complex
and a bit too cumbersome to use from the command line. This change
adds a --filter-file option which is mutually exclusive with --filter
and which reads the filter expression from a file instead of accepting
it on the command line.

Change-Id: I381c92ddf0d9fe62acd20432fa4868e2121405b8
Reviewed-on: https://gem5-review.googlesource.com/11257
Reviewed-by: Gabe Black <gabeblack@google.com>
Maintainer: Gabe Black <gabeblack@google.com>
2018-08-22 00:59:09 +00:00
Gabe Black
84c1b3b3ed systemc: Add support for deprecated integer report handler ids.
These are deprecated but still used in the regression tests.

Change-Id: Id59cf950fbe0530a6cdce20a256d450b243f12d3
Reviewed-on: https://gem5-review.googlesource.com/11256
Reviewed-by: Gabe Black <gabeblack@google.com>
Maintainer: Gabe Black <gabeblack@google.com>
2018-08-22 00:55:25 +00:00
Gabe Black
5d24b0a5ad systemc: Add the nonstandard macro SC_NEW.
This is in the Accellera implementation and in the regression tests.
The implementation here is a bit different than theirs in that it uses
std::unique_ptrs.

Change-Id: Id3d1ad82482b94a5d99f27e02d1e447ca1944797
Reviewed-on: https://gem5-review.googlesource.com/11255
Reviewed-by: Gabe Black <gabeblack@google.com>
Maintainer: Gabe Black <gabeblack@google.com>
2018-08-22 00:52:39 +00:00
Gabe Black
d4f96ad971 systemc: Add the nonstandard triggered function sc_event.
The Accellera implementation of sc_event has a non-standard triggered
function which returns whether or not that particular event has been
triggered in the current delta cycle. The tests call it, so we probably
need to have it.

Change-Id: I675099b65d00e09536618d4d2d707bf3c25e3bde
Reviewed-on: https://gem5-review.googlesource.com/11187
Reviewed-by: Gabe Black <gabeblack@google.com>
Maintainer: Gabe Black <gabeblack@google.com>
2018-08-22 00:51:43 +00:00
Gabe Black
e81d8bd815 systemc: Add the nonstandard variable sc_allow_process_control_corners.
This variable controls what happens in some situations which are left
as undefined in the spec. It's behavior is explained in a big comment
in the Accellera implementation. Since it's used in the regression
tests, we need to at least have that variable so they'll compile and
link properly.

Change-Id: I1ac4592641be3d9dd10e7bf6144704a6fac1b2d4
Reviewed-on: https://gem5-review.googlesource.com/11186
Reviewed-by: Gabe Black <gabeblack@google.com>
Maintainer: Gabe Black <gabeblack@google.com>
2018-08-22 00:50:50 +00:00
Gabe Black
5f8af6b4ee systemc: Add some "implementation defined" stuff to sc_attr_cltn.
These "impelementation defined" methods are tested by the regression
tests, so we need to have them. We might as well have the same
general interface as the Accellera implementation since nothing there
seems overly specialized for that environment.

Change-Id: Ief6567fcd9d99d3a0f526cfa3b65043b2c828efa
Reviewed-on: https://gem5-review.googlesource.com/11185
Reviewed-by: Gabe Black <gabeblack@google.com>
Maintainer: Gabe Black <gabeblack@google.com>
2018-08-22 00:49:20 +00:00