[seabios test] 185623: tolerable FAIL - PUSHED

2024-04-15 Thread osstest service owner
flight 185623 seabios real [real]
http://logs.test-lab.xenproject.org/osstest/logs/185623/

Failures :-/ but no regressions.

Tests which did not succeed, but are not blocking:
 test-amd64-amd64-xl-qemuu-win7-amd64 19 guest-stopfail like 185287
 test-amd64-amd64-qemuu-nested-amd 20 debian-hvm-install/l1/l2 fail like 185287
 test-amd64-amd64-xl-qemuu-ws16-amd64 19 guest-stopfail like 185287
 test-amd64-amd64-libvirt-qemuu-debianhvm-amd64-xsm 13 migrate-support-check 
fail never pass

version targeted for testing:
 seabios  e5f2e4c69643bc3cd385306a9e5d29e11578148c
baseline version:
 seabios  c5a361c09a19e3b1a83557b01f11f04b27181a11

Last test of basis   185287  2024-04-09 15:42:58 Z6 days
Testing same since   185604  2024-04-15 13:42:35 Z0 days3 attempts


People who touched revisions under test:
  Daniil Tatianin 
  Kevin O'Connor 

jobs:
 build-amd64-xsm  pass
 build-i386-xsm   pass
 build-amd64  pass
 build-i386   pass
 build-amd64-libvirt  pass
 build-i386-libvirt   pass
 build-amd64-pvopspass
 build-i386-pvops pass
 test-amd64-amd64-libvirt-qemuu-debianhvm-amd64-xsm   pass
 test-amd64-amd64-xl-qemuu-debianhvm-i386-xsm pass
 test-amd64-amd64-qemuu-nested-amdfail
 test-amd64-amd64-xl-qemuu-debianhvm-amd64pass
 test-amd64-amd64-qemuu-freebsd11-amd64   pass
 test-amd64-amd64-qemuu-freebsd12-amd64   pass
 test-amd64-amd64-xl-qemuu-win7-amd64 fail
 test-amd64-amd64-xl-qemuu-ws16-amd64 fail
 test-amd64-amd64-xl-qemuu-dmrestrict-amd64-dmrestrictpass
 test-amd64-amd64-qemuu-nested-intel  pass
 test-amd64-amd64-xl-qemuu-debianhvm-amd64-shadow pass



sg-report-flight on osstest.test-lab.xenproject.org
logs: /home/logs/logs
images: /home/logs/images

Logs, config files, etc. are available at
http://logs.test-lab.xenproject.org/osstest/logs

Explanation of these reports, and of osstest in general, is at
http://xenbits.xen.org/gitweb/?p=osstest.git;a=blob;f=README.email;hb=master
http://xenbits.xen.org/gitweb/?p=osstest.git;a=blob;f=README;hb=master

Test harness code can be found at
http://xenbits.xen.org/gitweb?p=osstest.git;a=summary


Pushing revision :

To xenbits.xen.org:/home/xen/git/osstest/seabios.git
   c5a361c..e5f2e4c  e5f2e4c69643bc3cd385306a9e5d29e11578148c -> 
xen-tested-master



[xen-unstable test] 185622: regressions - FAIL

2024-04-15 Thread osstest service owner
flight 185622 xen-unstable real [real]
http://logs.test-lab.xenproject.org/osstest/logs/185622/

Regressions :-(

Tests which did not succeed and are blocking,
including tests which could not be run:
 test-amd64-amd64-xl-vhd  12 debian-di-installfail REGR. vs. 185281
 test-amd64-amd64-xl-qemuu-win7-amd64 12 windows-install  fail REGR. vs. 185281
 build-arm64-pvops 6 kernel-build fail REGR. vs. 185281

Tests which did not succeed, but are not blocking:
 test-arm64-arm64-examine  1 build-check(1)   blocked  n/a
 test-arm64-arm64-libvirt-raw  1 build-check(1)   blocked  n/a
 test-arm64-arm64-libvirt-xsm  1 build-check(1)   blocked  n/a
 test-arm64-arm64-xl   1 build-check(1)   blocked  n/a
 test-arm64-arm64-xl-credit1   1 build-check(1)   blocked  n/a
 test-arm64-arm64-xl-credit2   1 build-check(1)   blocked  n/a
 test-arm64-arm64-xl-thunderx  1 build-check(1)   blocked  n/a
 test-arm64-arm64-xl-vhd   1 build-check(1)   blocked  n/a
 test-arm64-arm64-xl-xsm   1 build-check(1)   blocked  n/a
 test-amd64-amd64-qemuu-nested-amd 20 debian-hvm-install/l1/l2 fail blocked in 
185281
 test-amd64-amd64-xl-qemut-win7-amd64 19 guest-stopfail like 185281
 test-armhf-armhf-libvirt 16 saverestore-support-checkfail  like 185281
 test-amd64-amd64-xl-qemuu-ws16-amd64 19 guest-stopfail like 185281
 test-amd64-amd64-xl-qemut-ws16-amd64 19 guest-stopfail like 185281
 test-amd64-amd64-libvirt-xsm 15 migrate-support-checkfail   never pass
 test-amd64-amd64-libvirt 15 migrate-support-checkfail   never pass
 test-amd64-amd64-libvirt-qemuu-debianhvm-amd64-xsm 13 migrate-support-check 
fail never pass
 test-armhf-armhf-xl-arndale  15 migrate-support-checkfail   never pass
 test-armhf-armhf-xl-arndale  16 saverestore-support-checkfail   never pass
 test-armhf-armhf-xl-rtds 15 migrate-support-checkfail   never pass
 test-armhf-armhf-xl-credit1  15 migrate-support-checkfail   never pass
 test-armhf-armhf-xl-rtds 16 saverestore-support-checkfail   never pass
 test-armhf-armhf-xl-credit1  16 saverestore-support-checkfail   never pass
 test-armhf-armhf-xl-multivcpu 15 migrate-support-checkfail  never pass
 test-armhf-armhf-xl-multivcpu 16 saverestore-support-checkfail  never pass
 test-amd64-amd64-libvirt-raw 14 migrate-support-checkfail   never pass
 test-armhf-armhf-xl  15 migrate-support-checkfail   never pass
 test-armhf-armhf-xl  16 saverestore-support-checkfail   never pass
 test-amd64-amd64-libvirt-qcow2 14 migrate-support-checkfail never pass
 test-armhf-armhf-libvirt 15 migrate-support-checkfail   never pass
 test-amd64-amd64-libvirt-vhd 14 migrate-support-checkfail   never pass
 test-armhf-armhf-xl-qcow214 migrate-support-checkfail   never pass
 test-armhf-armhf-xl-qcow215 saverestore-support-checkfail   never pass
 test-armhf-armhf-libvirt-vhd 14 migrate-support-checkfail   never pass
 test-armhf-armhf-libvirt-vhd 15 saverestore-support-checkfail   never pass
 test-armhf-armhf-xl-credit2  15 migrate-support-checkfail   never pass
 test-armhf-armhf-xl-credit2  16 saverestore-support-checkfail   never pass
 test-armhf-armhf-xl-raw  14 migrate-support-checkfail   never pass
 test-armhf-armhf-xl-raw  15 saverestore-support-checkfail   never pass

version targeted for testing:
 xen  c0f890cd9d5fd2c17a1e3110cb26f98c90ce8429
baseline version:
 xen  672b26b66ebb5ff3d28c573a6545a08020b27495

Last test of basis   185281  2024-04-09 11:10:22 Z6 days
Failing since185294  2024-04-10 04:20:17 Z5 days9 attempts
Testing same since   185457  2024-04-13 21:33:46 Z2 days6 attempts


People who touched revisions under test:
  Andrew Cooper 
  Bertrand Marquis 
  Bjoern Doebel 
  Daniel P. Smith 
  Jan Beulich 
  Jason Andryuk 
  Jason Andryuk 
  John Ernberg 
  Juergen Gross 
  Julien Grall 
  Konrad Rzeszutek Wilk 
  Leigh Brown 
  Luca Fancellu 
  Michal Orzel 
  Nicola Vetrini 
  Peng Fan 
  Roger Pau Monne 
  Roger Pau Monné 
  Ross Lagerwall 
  Shawn Anastasio 
  Stefano Stabellini 
  Stefano Stabellini 

jobs:
 build-amd64-xsm  pass
 build-arm64-xsm  pass
 build-i386-xsm   pass
 build-amd64-xtf  pass
 build-amd64  pass
 build-arm64  pass
 build-armhf  pass
 build-i386 

[ovmf test] 185624: all pass - PUSHED

2024-04-15 Thread osstest service owner
flight 185624 ovmf real [real]
http://logs.test-lab.xenproject.org/osstest/logs/185624/

Perfect :-)
All tests in this flight passed as required
version targeted for testing:
 ovmf 5ba3602e4580d6b65dacf4292a031627f93e1167
baseline version:
 ovmf 98f150a954b35cc74bd87ae355cf35d8c9e1580d

Last test of basis   185309  2024-04-11 08:11:11 Z4 days
Failing since185603  2024-04-15 13:42:34 Z0 days3 attempts
Testing same since   185624  2024-04-15 20:11:06 Z0 days1 attempts


People who touched revisions under test:
  Gahan Saraiya 
  Jiewen Yao 
  Qingyu 
  Taylor Beebe 
  Wei6 Xu 

jobs:
 build-amd64-xsm  pass
 build-i386-xsm   pass
 build-amd64  pass
 build-i386   pass
 build-amd64-libvirt  pass
 build-i386-libvirt   pass
 build-amd64-pvopspass
 build-i386-pvops pass
 test-amd64-amd64-xl-qemuu-ovmf-amd64 pass



sg-report-flight on osstest.test-lab.xenproject.org
logs: /home/logs/logs
images: /home/logs/images

Logs, config files, etc. are available at
http://logs.test-lab.xenproject.org/osstest/logs

Explanation of these reports, and of osstest in general, is at
http://xenbits.xen.org/gitweb/?p=osstest.git;a=blob;f=README.email;hb=master
http://xenbits.xen.org/gitweb/?p=osstest.git;a=blob;f=README;hb=master

Test harness code can be found at
http://xenbits.xen.org/gitweb?p=osstest.git;a=summary


Pushing revision :

To xenbits.xen.org:/home/xen/git/osstest/ovmf.git
   98f150a954..5ba3602e45  5ba3602e4580d6b65dacf4292a031627f93e1167 -> 
xen-tested-master



Re: [PATCH 4/4] xen/public: Use -Wpadding for public headers

2024-04-15 Thread Stefano Stabellini
On Mon, 15 Apr 2024, Andrew Cooper wrote:
> RFC.  In theory this is a great way to avoid some of the spiketraps involved
> with C being the official representation.
> 
> However, this doesn't build.  gnttab_transfer has a layout that requires a
> CONFIG_COMPAT if we want to satisfy -Wpadding for both forms of the structure.
> 
> Thoughts on whether this cross-check is worthwhile-enough to warrant the
> ifdefary?

I like this patch and I think we have no choice but going in this
direction and adding all the padding explicitly with any related
necessary ifdefary.

The only question for me is whether to:

1) add -Wpadding
2) add __packed__
3) do both

I think it is important to add __packed__ to the headers to clear out
any misconceptions about possible hidden paddings and get a
correct-by-default behavior for anyone that would import the headers
into their own projects.

The only issue is that __packed__ makes -Wpadding not useful. We could
technically add both if we disable __packed__ for the -Wpadding build.
For instance we could use __packed which is defined by Xen, and change
the definition of __packed to nothing for the -Wpadding build.

That way we get both the nice -Wpadding checks and also the nice
obvious-by-default __packed__.




> ~Andrew
> ---
> CC: George Dunlap 
> CC: Jan Beulich 
> CC: Stefano Stabellini 
> CC: Julien Grall 
> ---
>  xen/common/Makefile  |  1 +
>  xen/common/hdr-chk.c | 13 +
>  xen/include/public/grant_table.h |  7 +++
>  3 files changed, 21 insertions(+)
>  create mode 100644 xen/common/hdr-chk.c
> 
> diff --git a/xen/common/Makefile b/xen/common/Makefile
> index d512cad5243f..dbbda70829f1 100644
> --- a/xen/common/Makefile
> +++ b/xen/common/Makefile
> @@ -15,6 +15,7 @@ obj-y += event_fifo.o
>  obj-$(CONFIG_GRANT_TABLE) += grant_table.o
>  obj-y += guestcopy.o
>  obj-y += gzip/
> +obj-y += hdr-chk.o
>  obj-$(CONFIG_HYPFS) += hypfs.o
>  obj-$(CONFIG_IOREQ_SERVER) += ioreq.o
>  obj-y += irq.o
> diff --git a/xen/common/hdr-chk.c b/xen/common/hdr-chk.c
> new file mode 100644
> index ..1c7a509dcd06
> --- /dev/null
> +++ b/xen/common/hdr-chk.c
> @@ -0,0 +1,13 @@
> +#include 
> +
> +#include 
> +
> +#pragma GCC diagnostic error "-Wpadded"
> +
> +#include 
> +
> +#ifdef CONFIG_COMPAT
> +
> +#include 
> +
> +#endif /* CONFIG_COMPAT */
> diff --git a/xen/include/public/grant_table.h 
> b/xen/include/public/grant_table.h
> index 1dfa17a6d02a..a66c77d0166c 100644
> --- a/xen/include/public/grant_table.h
> +++ b/xen/include/public/grant_table.h
> @@ -355,6 +355,7 @@ struct gnttab_unmap_grant_ref {
>  grant_handle_t handle;
>  /* OUT parameters. */
>  int16_t  status;  /* => enum grant_status */
> +uint16_t _pad0;
>  };
>  typedef struct gnttab_unmap_grant_ref gnttab_unmap_grant_ref_t;
>  DEFINE_XEN_GUEST_HANDLE(gnttab_unmap_grant_ref_t);
> @@ -371,6 +372,7 @@ DEFINE_XEN_GUEST_HANDLE(gnttab_unmap_grant_ref_t);
>  struct gnttab_setup_table {
>  /* IN parameters. */
>  domid_t  dom;
> +uint16_t _pad0;
>  uint32_t nr_frames;
>  /* OUT parameters. */
>  int16_t  status;  /* => enum grant_status */
> @@ -409,9 +411,12 @@ struct gnttab_transfer {
>  /* IN parameters. */
>  xen_pfn_t mfn;
>  domid_t   domid;
> +uint16_t  _pad0;
>  grant_ref_t   ref;
>  /* OUT parameters. */
>  int16_t   status;
> +uint16_t  _pad1;
> +/* XXX compat-dependent padding. */
>  };
>  typedef struct gnttab_transfer gnttab_transfer_t;
>  DEFINE_XEN_GUEST_HANDLE(gnttab_transfer_t);
> @@ -468,10 +473,12 @@ DEFINE_XEN_GUEST_HANDLE(gnttab_copy_t);
>  struct gnttab_query_size {
>  /* IN parameters. */
>  domid_t  dom;
> +uint16_t _ign1;
>  /* OUT parameters. */
>  uint32_t nr_frames;
>  uint32_t max_nr_frames;
>  int16_t  status;  /* => enum grant_status */
> +uint16_t _ign2;
>  };
>  typedef struct gnttab_query_size gnttab_query_size_t;
>  DEFINE_XEN_GUEST_HANDLE(gnttab_query_size_t);
> -- 
> 2.30.2
> 



Re: [PATCH 3/4] xen/gnttab: Perform compat/native gnttab_query_size check

2024-04-15 Thread Stefano Stabellini
On Mon, 15 Apr 2024, Andrew Cooper wrote:
> This subop appears to have been missed from the compat checks.
> 
> Signed-off-by: Andrew Cooper 
> ---
> CC: George Dunlap 
> CC: Jan Beulich 
> CC: Stefano Stabellini 
> CC: Julien Grall 
> ---
>  xen/common/compat/grant_table.c | 4 
>  xen/include/xlat.lst| 1 +
>  2 files changed, 5 insertions(+)
> 
> diff --git a/xen/common/compat/grant_table.c b/xen/common/compat/grant_table.c
> index af98eade17c9..8a754055576b 100644
> --- a/xen/common/compat/grant_table.c
> +++ b/xen/common/compat/grant_table.c
> @@ -30,6 +30,10 @@ CHECK_gnttab_unmap_grant_ref;
>  CHECK_gnttab_unmap_and_replace;
>  #undef xen_gnttab_unmap_and_replace
>  
> +#define xen_gnttab_query_size gnttab_query_size
> +CHECK_gnttab_query_size;
> +#undef xen_gnttab_query_size
> +
>  DEFINE_XEN_GUEST_HANDLE(gnttab_setup_table_compat_t);
>  DEFINE_XEN_GUEST_HANDLE(gnttab_transfer_compat_t);
>  DEFINE_XEN_GUEST_HANDLE(gnttab_copy_compat_t);
> diff --git a/xen/include/xlat.lst b/xen/include/xlat.lst
> index b3befd9cc113..53a1bdfc533f 100644
> --- a/xen/include/xlat.lst
> +++ b/xen/include/xlat.lst
> @@ -88,6 +88,7 @@
>  !gnttab_get_status_framesgrant_table.h
>  ?gnttab_get_version  grant_table.h
>  ?gnttab_map_grant_refgrant_table.h
> +?gnttab_query_size   grant_table.h
>  ?gnttab_set_version  grant_table.h
>  !gnttab_setup_table  grant_table.h
>  ?gnttab_swap_grant_ref   grant_table.h
 

I am no compat layer expert, but shouldn't there be something like:

#ifndef CHECK_gnttab_map_grant_ref
CASE(map_grant_ref);
#endif

somewhere under compat_grant_table_op ?





Re: [PATCH 2/4] xen/xlat: Sort structs per file

2024-04-15 Thread Stefano Stabellini
On Mon, 15 Apr 2024, Andrew Cooper wrote:
> Signed-off-by: Andrew Cooper 

Reviewed-by: Stefano Stabellini 




Re: [PATCH 1/4] xen/xlat: Sort out whitespace

2024-04-15 Thread Stefano Stabellini
On Mon, 15 Apr 2024, Andrew Cooper wrote:
>  * Fix tabs/spaces mismatch for certain rows
>  * Insert lines between header files to improve legibility
> 
> Signed-off-by: Andrew Cooper 
> ---
> CC: George Dunlap 
> CC: Jan Beulich 
> CC: Stefano Stabellini 
> CC: Julien Grall 
> ---
>  xen/include/xlat.lst | 31 +++
>  1 file changed, 27 insertions(+), 4 deletions(-)
> 
> diff --git a/xen/include/xlat.lst b/xen/include/xlat.lst
> index 9c41948514bf..e811342bb096 100644
> --- a/xen/include/xlat.lst
> +++ b/xen/include/xlat.lst
> @@ -20,19 +20,24 @@
>  # First column indicator:
>  # ! - needs translation
>  # ? - needs checking
> +
>  ?dom0_vga_console_info   xen.h
>  ?xenctl_bitmap   xen.h
>  ?mmu_update  xen.h
>  !mmuext_op   xen.h
>  !start_info  xen.h
>  ?vcpu_time_info  xen.h
> +
>  ?pmu_amd_ctxtarch-x86/pmu.h
>  ?pmu_archarch-x86/pmu.h
>  ?pmu_cntr_pair   arch-x86/pmu.h
>  ?pmu_intel_ctxt  arch-x86/pmu.h
>  ?pmu_regsarch-x86/pmu.h
> +
>  !cpu_user_regs   arch-x86/xen-@arch@.h
> +
>  !trap_info   arch-x86/xen.h
> +
>  ?cpu_offline_action  arch-x86/xen-mca.h
>  ?mc  arch-x86/xen-mca.h
>  ?mcinfo_bank arch-x86/xen-mca.h
> @@ -50,6 +55,7 @@
>  ?mc_notifydomain arch-x86/xen-mca.h
>  !mc_physcpuinfo  arch-x86/xen-mca.h
>  ?page_offline_action arch-x86/xen-mca.h
> +
>  ?argo_addr   argo.h
>  !argo_iovargo.h
>  ?argo_register_ring  argo.h
> @@ -59,6 +65,7 @@
>  ?argo_ring_message_headerargo.h
>  ?argo_send_addr  argo.h
>  ?argo_unregister_ringargo.h
> +
>  ?evtchn_alloc_unboundevent_channel.h
>  ?evtchn_bind_interdomain event_channel.h
>  ?evtchn_bind_ipi event_channel.h
> @@ -74,6 +81,7 @@
>  ?evtchn_set_priority event_channel.h
>  ?evtchn_status   event_channel.h
>  ?evtchn_unmask   event_channel.h
> +
>  ?gnttab_cache_flush  grant_table.h
>  !gnttab_copy grant_table.h
>  ?gnttab_dump_table   grant_table.h
> @@ -86,9 +94,10 @@
>  ?gnttab_get_version  grant_table.h
>  !gnttab_get_status_framesgrant_table.h
>  ?grant_entry_v1  grant_table.h
> -?   grant_entry_header  grant_table.h
> +?grant_entry_header  grant_table.h
>  ?grant_entry_v2  grant_table.h
>  ?gnttab_swap_grant_ref   grant_table.h
> +
>  !dm_op_buf   hvm/dm_op.h
>  ?dm_op_create_ioreq_server   hvm/dm_op.h
>  ?dm_op_destroy_ioreq_server  hvm/dm_op.h
> @@ -108,15 +117,20 @@
>  ?dm_op_set_pci_intx_levelhvm/dm_op.h
>  ?dm_op_set_pci_link_routehvm/dm_op.h
>  ?dm_op_track_dirty_vram  hvm/dm_op.h
> +
>  !hvm_altp2m_set_mem_access_multi hvm/hvm_op.h
> +
>  ?vcpu_hvm_contexthvm/hvm_vcpu.h
>  ?vcpu_hvm_x86_32 hvm/hvm_vcpu.h
>  ?vcpu_hvm_x86_64 hvm/hvm_vcpu.h
> +
>  ?hypfs_direntry  hypfs.h
>  ?hypfs_dirlistentry  hypfs.h
> +
>  ?kexec_exec  kexec.h
>  !kexec_image kexec.h
>  !kexec_range kexec.h
> +
>  !add_to_physmap  memory.h
>  !add_to_physmap_batchmemory.h
>  !foreign_memory_map  memory.h
> @@ -130,6 +144,7 @@
>  !reserved_device_memory_map  memory.h
>  ?vmemrange   memory.h
>  !vnuma_topology_info memory.h
> +
>  ?physdev_eoi physdev.h
>  ?physdev_get_free_pirq   physdev.h
>  ?physdev_irq physdev.h
> @@ -143,6 +158,7 @@
>  ?physdev_restore_msi physdev.h
>  ?physdev_set_ioplphysdev.h
>  ?physdev_setup_gsi   physdev.h
> +
>  !pct_registerplatform.h
>  !power_register  platform.h
>  ?processor_csd   platform.h
> @@ -158,23 +174,30 @@
>  ?xenpf_pcpu_version  platform.h
>  ?xenpf_resource_entryplatform.h
>  ?xenpf_ucode_revisionplatform.h
> +
>  ?pmu_datapmu.h
>  ?pmu_params  pmu.h
> +
>  !sched_poll  sched.h
>  ?sched_pin_override  sched.h
>  ?sched_remote_shutdown   sched.h
>  ? 

[ovmf test] 185617: regressions - trouble: blocked/broken

2024-04-15 Thread osstest service owner
flight 185617 ovmf real [real]
http://logs.test-lab.xenproject.org/osstest/logs/185617/

Regressions :-(

Tests which did not succeed and are blocking,
including tests which could not be run:
 build-amd64  broken
 build-amd64-pvopsbroken
 build-amd64-xsm  broken
 build-i386   broken
 build-i386-pvops broken
 build-i386-xsm   broken
 build-amd64-pvops 5 host-build-prep  fail REGR. vs. 185309
 build-amd64-xsm   5 host-build-prep  fail REGR. vs. 185309
 build-i3865 host-build-prep  fail REGR. vs. 185309
 build-amd64   5 host-build-prep  fail REGR. vs. 185309
 build-i386-xsm5 host-build-prep  fail REGR. vs. 185309
 build-i386-pvops  5 host-build-prep  fail REGR. vs. 185309

Tests which did not succeed, but are not blocking:
 build-amd64-libvirt   1 build-check(1)   blocked  n/a
 build-i386-libvirt1 build-check(1)   blocked  n/a
 test-amd64-amd64-xl-qemuu-ovmf-amd64  1 build-check(1) blocked n/a

version targeted for testing:
 ovmf 0707d9296d7536c5baf43b23d70eafce10b1ab03
baseline version:
 ovmf 98f150a954b35cc74bd87ae355cf35d8c9e1580d

Last test of basis   185309  2024-04-11 08:11:11 Z4 days
Failing since185603  2024-04-15 13:42:34 Z0 days2 attempts
Testing same since   185617  2024-04-15 17:41:09 Z0 days1 attempts


People who touched revisions under test:
  Gahan Saraiya 
  Jiewen Yao 
  Qingyu 
  Wei6 Xu 

jobs:
 build-amd64-xsm  broken  
 build-i386-xsm   broken  
 build-amd64  broken  
 build-i386   broken  
 build-amd64-libvirt  blocked 
 build-i386-libvirt   blocked 
 build-amd64-pvopsbroken  
 build-i386-pvops broken  
 test-amd64-amd64-xl-qemuu-ovmf-amd64 blocked 



sg-report-flight on osstest.test-lab.xenproject.org
logs: /home/logs/logs
images: /home/logs/images

Logs, config files, etc. are available at
http://logs.test-lab.xenproject.org/osstest/logs

Explanation of these reports, and of osstest in general, is at
http://xenbits.xen.org/gitweb/?p=osstest.git;a=blob;f=README.email;hb=master
http://xenbits.xen.org/gitweb/?p=osstest.git;a=blob;f=README;hb=master

Test harness code can be found at
http://xenbits.xen.org/gitweb?p=osstest.git;a=summary

broken-job build-amd64 broken
broken-job build-amd64-pvops broken
broken-job build-amd64-xsm broken
broken-job build-i386 broken
broken-job build-i386-pvops broken
broken-job build-i386-xsm broken

Not pushing.


commit 0707d9296d7536c5baf43b23d70eafce10b1ab03
Author: Wei6 Xu 
Date:   Fri Apr 12 15:14:40 2024 +0800

SecurityPkg/Tcg2Config: Hide BIOS unsupported hash algorithm from UI

REF: https://bugzilla.tianocore.org/show_bug.cgi?id=4731

TCG2 configuration UI shows all the hash algorithms that TPM hardware
supports in the checkbox. If user only selects one algorithm that is
supported by TPM hardware but not supported by BIOS and uncheck the
others, the SyncPcrAllocationsAndPcrMask in Tcg2Pei will not be able
to decide a viable PCR to activate, then an assert occurs.

Add check against PcdTcg2HashAlgorithmBitmap when deciding whether
to suppress the hash algorithm checkbox to avoid user to select the
hash algorithm which may cause an assert.

Cc: Rahul Kumar 
Cc: Jiewen Yao 
Signed-off-by: Wei6 Xu 
Reviewed-by: Rahul Kumar 
Acked-by: Jiewen Yao 

commit e25808f5018ea601d0adf1d6d10c1cb3cb6a050b
Author: Qingyu 
Date:   Mon Apr 8 16:56:47 2024 +0800

MdePkg: Update the comments of GetInformation function

Refer to Uefi spec 2.10 section 11.11.2, add a new retval
EFI_NOT_FOUND to EFI_ADAPTER_INFORMATION_PROTOCOL.GetInformation().
Reference: [mantis #1866] - GetInfo() of Adapter Information
Protocol should have a provision for IHV to return no data.

Cc: Liming Gao 
Cc: Michael D Kinney 
Cc: Zhiguang Liu 
Signed-off-by: Qingyu 
Signed-off-by: Gahan Saraiya 



[xen-4.18-testing test] 185527: regressions - trouble: blocked/broken

2024-04-15 Thread osstest service owner
flight 185527 xen-4.18-testing real [real]
http://logs.test-lab.xenproject.org/osstest/logs/185527/

Regressions :-(

Tests which did not succeed and are blocking,
including tests which could not be run:
 build-amd64  broken
 build-amd64-prev broken
 build-amd64-pvopsbroken
 build-amd64-xsm  broken
 build-amd64-xtf  broken
 build-arm64  broken
 build-arm64-pvopsbroken
 build-arm64-xsm  broken
 build-armhf  broken
 build-armhf-pvopsbroken
 build-i386   broken
 build-i386-prev  broken
 build-i386-pvops broken
 build-i386-xsm   broken
 build-i386-xsm5 host-build-prep  fail REGR. vs. 185285
 build-i386-pvops  5 host-build-prep  fail REGR. vs. 185285
 build-amd64-prev  5 host-build-prep  fail REGR. vs. 185285
 build-amd64   5 host-build-prep  fail REGR. vs. 185285
 build-amd64-xtf   5 host-build-prep  fail REGR. vs. 185285
 build-amd64-pvops 5 host-build-prep  fail REGR. vs. 185285
 build-armhf-pvops 5 host-build-prep  fail REGR. vs. 185285
 build-i386-prev   5 host-build-prep  fail REGR. vs. 185285
 build-amd64-xsm   5 host-build-prep  fail REGR. vs. 185285
 build-arm64   5 host-build-prep  fail REGR. vs. 185285
 build-i3865 host-build-prep  fail REGR. vs. 185285
 build-arm64-xsm   5 host-build-prep  fail REGR. vs. 185285
 build-arm64-pvops 5 host-build-prep  fail REGR. vs. 185285
 build-armhf   5 host-build-prep  fail REGR. vs. 185285

Tests which did not succeed, but are not blocking:
 test-amd64-amd64-xl-rtds  1 build-check(1)   blocked  n/a
 test-amd64-amd64-xl-raw   1 build-check(1)   blocked  n/a
 test-amd64-amd64-xl-qemuu-ws16-amd64  1 build-check(1) blocked n/a
 test-amd64-amd64-xl-qemuu-win7-amd64  1 build-check(1) blocked n/a
 test-amd64-amd64-xl-qemuu-ovmf-amd64  1 build-check(1) blocked n/a
 test-amd64-amd64-xl-qemuu-dmrestrict-amd64-dmrestrict 1 build-check(1) blocked 
n/a
 test-amd64-amd64-xl-qemuu-debianhvm-i386-xsm  1 build-check(1) blocked n/a
 test-amd64-amd64-xl-qemuu-debianhvm-amd64-shadow  1 build-check(1) blocked n/a
 test-amd64-amd64-xl-qemuu-debianhvm-amd64  1 build-check(1)blocked n/a
 test-amd64-amd64-xl-qemut-ws16-amd64  1 build-check(1) blocked n/a
 test-amd64-amd64-xl-qemut-win7-amd64  1 build-check(1) blocked n/a
 test-amd64-amd64-xl-qemut-stubdom-debianhvm-amd64-xsm 1 build-check(1) blocked 
n/a
 build-amd64-libvirt   1 build-check(1)   blocked  n/a
 test-amd64-amd64-xl-qemut-debianhvm-i386-xsm  1 build-check(1) blocked n/a
 test-amd64-amd64-xl-qemut-debianhvm-amd64  1 build-check(1)blocked n/a
 test-amd64-amd64-xl-qcow2 1 build-check(1)   blocked  n/a
 build-arm64-libvirt   1 build-check(1)   blocked  n/a
 test-amd64-amd64-xl-pvshim1 build-check(1)   blocked  n/a
 test-amd64-amd64-xl-pvhv2-intel  1 build-check(1)   blocked  n/a
 build-armhf-libvirt   1 build-check(1)   blocked  n/a
 test-amd64-amd64-xl-pvhv2-amd  1 build-check(1)   blocked  n/a
 test-amd64-amd64-xl-multivcpu  1 build-check(1)   blocked  n/a
 build-i386-libvirt1 build-check(1)   blocked  n/a
 test-amd64-amd64-xl-credit2   1 build-check(1)   blocked  n/a
 test-amd64-amd64-xl-credit1   1 build-check(1)   blocked  n/a
 test-amd64-amd64-dom0pvh-xl-amd  1 build-check(1)   blocked  n/a
 test-amd64-amd64-dom0pvh-xl-intel  1 build-check(1)   blocked  n/a
 test-amd64-amd64-xl   1 build-check(1)   blocked  n/a
 test-amd64-amd64-libvirt  1 build-check(1)   blocked  n/a
 test-amd64-amd64-libvirt-pair  1 build-check(1)   blocked  n/a
 test-amd64-amd64-qemuu-nested-intel  1 build-check(1)  blocked n/a
 test-amd64-amd64-libvirt-qcow2  1 build-check(1)   blocked  n/a
 test-amd64-amd64-libvirt-qemuu-debianhvm-amd64-xsm 1 build-check(1) blocked n/a
 test-amd64-amd64-qemuu-nested-amd  1 build-check(1)   blocked  n/a
 test-amd64-amd64-libvirt-raw  1 build-check(1)   blocked  n/a
 test-amd64-amd64-libvirt-vhd  1 build-check(1)   blocked  n/a
 

[seabios test] 185616: regressions - trouble: blocked/broken

2024-04-15 Thread osstest service owner
flight 185616 seabios real [real]
http://logs.test-lab.xenproject.org/osstest/logs/185616/

Regressions :-(

Tests which did not succeed and are blocking,
including tests which could not be run:
 build-amd64  broken
 build-amd64-pvopsbroken
 build-amd64-xsm  broken
 build-i386   broken
 build-i386-pvops broken
 build-i386-xsm   broken
 build-amd64   5 host-build-prep  fail REGR. vs. 185287
 build-amd64-xsm   5 host-build-prep  fail REGR. vs. 185287
 build-i386-xsm5 host-build-prep  fail REGR. vs. 185287
 build-i3865 host-build-prep  fail REGR. vs. 185287
 build-i386-pvops  5 host-build-prep  fail REGR. vs. 185287
 build-amd64-pvops 5 host-build-prep  fail REGR. vs. 185287

Tests which did not succeed, but are not blocking:
 build-amd64-libvirt   1 build-check(1)   blocked  n/a
 build-i386-libvirt1 build-check(1)   blocked  n/a
 test-amd64-amd64-libvirt-qemuu-debianhvm-amd64-xsm 1 build-check(1) blocked n/a
 test-amd64-amd64-qemuu-freebsd11-amd64  1 build-check(1)   blocked n/a
 test-amd64-amd64-qemuu-freebsd12-amd64  1 build-check(1)   blocked n/a
 test-amd64-amd64-qemuu-nested-amd  1 build-check(1)   blocked  n/a
 test-amd64-amd64-qemuu-nested-intel  1 build-check(1)  blocked n/a
 test-amd64-amd64-xl-qemuu-debianhvm-amd64  1 build-check(1)blocked n/a
 test-amd64-amd64-xl-qemuu-debianhvm-amd64-shadow  1 build-check(1) blocked n/a
 test-amd64-amd64-xl-qemuu-debianhvm-i386-xsm  1 build-check(1) blocked n/a
 test-amd64-amd64-xl-qemuu-dmrestrict-amd64-dmrestrict 1 build-check(1) blocked 
n/a
 test-amd64-amd64-xl-qemuu-win7-amd64  1 build-check(1) blocked n/a
 test-amd64-amd64-xl-qemuu-ws16-amd64  1 build-check(1) blocked n/a

version targeted for testing:
 seabios  e5f2e4c69643bc3cd385306a9e5d29e11578148c
baseline version:
 seabios  c5a361c09a19e3b1a83557b01f11f04b27181a11

Last test of basis   185287  2024-04-09 15:42:58 Z6 days
Testing same since   185604  2024-04-15 13:42:35 Z0 days2 attempts


People who touched revisions under test:
  Daniil Tatianin 
  Kevin O'Connor 

jobs:
 build-amd64-xsm  broken  
 build-i386-xsm   broken  
 build-amd64  broken  
 build-i386   broken  
 build-amd64-libvirt  blocked 
 build-i386-libvirt   blocked 
 build-amd64-pvopsbroken  
 build-i386-pvops broken  
 test-amd64-amd64-libvirt-qemuu-debianhvm-amd64-xsm   blocked 
 test-amd64-amd64-xl-qemuu-debianhvm-i386-xsm blocked 
 test-amd64-amd64-qemuu-nested-amdblocked 
 test-amd64-amd64-xl-qemuu-debianhvm-amd64blocked 
 test-amd64-amd64-qemuu-freebsd11-amd64   blocked 
 test-amd64-amd64-qemuu-freebsd12-amd64   blocked 
 test-amd64-amd64-xl-qemuu-win7-amd64 blocked 
 test-amd64-amd64-xl-qemuu-ws16-amd64 blocked 
 test-amd64-amd64-xl-qemuu-dmrestrict-amd64-dmrestrictblocked 
 test-amd64-amd64-qemuu-nested-intel  blocked 
 test-amd64-amd64-xl-qemuu-debianhvm-amd64-shadow blocked 



sg-report-flight on osstest.test-lab.xenproject.org
logs: /home/logs/logs
images: /home/logs/images

Logs, config files, etc. are available at
http://logs.test-lab.xenproject.org/osstest/logs

Explanation of these reports, and of osstest in general, is at
http://xenbits.xen.org/gitweb/?p=osstest.git;a=blob;f=README.email;hb=master
http://xenbits.xen.org/gitweb/?p=osstest.git;a=blob;f=README;hb=master

Test harness code can be found at
http://xenbits.xen.org/gitweb?p=osstest.git;a=summary

broken-job build-amd64 broken
broken-job build-amd64-pvops broken
broken-job build-amd64-xsm broken
broken-job build-i386 broken
broken-job build-i386-pvops broken
broken-job build-i386-xsm broken

Not pushing.


commit e5f2e4c69643bc3cd385306a9e5d29e11578148c
Author: Daniil Tatianin 
Date:   Thu Apr 11 22:51:35 2024 +0300

pciinit: don't misalign large BARs

Previously we would unconditionally lower the alignment for large BARs
in 

Re: [PATCH v2 13/13] xen/arm: List static shared memory regions as /memory nodes

2024-04-15 Thread Julien Grall

Hi Luca,

On 09/04/2024 12:45, Luca Fancellu wrote:

Currently Xen is not exporting the static shared memory regions
to the device tree as /memory node, this commit is fixing this
issue.

The static shared memory banks can be part of the memory range
available for the domain, so if they are overlapping with the
normal memory banks, they need to be merged together in order
to produce a /memory node with non overlapping ranges in 'reg'.


Before reviewing the code in more details, I would like to understand a 
bit more the use case and whether it should be valid.


From my understanding, the case you are trying to prevent is the 
following setup:

  1. The Guest Physical region 0x to 0x8000 is used for RAM
  2. The Guest Physical region 0x to 0x4000 is used for static memory

The underlying Host Physical regions may be different. Xen doesn't 
guarantee in which order the regions will be mapped, So whether the 
overlapped region will point to the memory or the shared region is 
unknown (we don't guarantee the order of the mapping). So nothing good 
will happen to the guest.


Did I understand correctly? If so, shouldn't this be a configuration we 
should forbid?


Cheers,

--
Julien Grall



[ovmf test] 185603: regressions - trouble: blocked/broken

2024-04-15 Thread osstest service owner
flight 185603 ovmf real [real]
http://logs.test-lab.xenproject.org/osstest/logs/185603/

Regressions :-(

Tests which did not succeed and are blocking,
including tests which could not be run:
 build-amd64  broken
 build-amd64-pvopsbroken
 build-amd64-xsm  broken
 build-i386   broken
 build-i386-pvops broken
 build-i386-xsm   broken
 build-amd64-xsm   5 host-build-prep  fail REGR. vs. 185309
 build-amd64-pvops 5 host-build-prep  fail REGR. vs. 185309
 build-i3865 host-build-prep  fail REGR. vs. 185309
 build-amd64   5 host-build-prep  fail REGR. vs. 185309
 build-i386-xsm5 host-build-prep  fail REGR. vs. 185309
 build-i386-pvops  5 host-build-prep  fail REGR. vs. 185309

Tests which did not succeed, but are not blocking:
 build-amd64-libvirt   1 build-check(1)   blocked  n/a
 build-i386-libvirt1 build-check(1)   blocked  n/a
 test-amd64-amd64-xl-qemuu-ovmf-amd64  1 build-check(1) blocked n/a

version targeted for testing:
 ovmf e25808f5018ea601d0adf1d6d10c1cb3cb6a050b
baseline version:
 ovmf 98f150a954b35cc74bd87ae355cf35d8c9e1580d

Last test of basis   185309  2024-04-11 08:11:11 Z4 days
Testing same since   185603  2024-04-15 13:42:34 Z0 days1 attempts


People who touched revisions under test:
  Gahan Saraiya 
  Qingyu 

jobs:
 build-amd64-xsm  broken  
 build-i386-xsm   broken  
 build-amd64  broken  
 build-i386   broken  
 build-amd64-libvirt  blocked 
 build-i386-libvirt   blocked 
 build-amd64-pvopsbroken  
 build-i386-pvops broken  
 test-amd64-amd64-xl-qemuu-ovmf-amd64 blocked 



sg-report-flight on osstest.test-lab.xenproject.org
logs: /home/logs/logs
images: /home/logs/images

Logs, config files, etc. are available at
http://logs.test-lab.xenproject.org/osstest/logs

Explanation of these reports, and of osstest in general, is at
http://xenbits.xen.org/gitweb/?p=osstest.git;a=blob;f=README.email;hb=master
http://xenbits.xen.org/gitweb/?p=osstest.git;a=blob;f=README;hb=master

Test harness code can be found at
http://xenbits.xen.org/gitweb?p=osstest.git;a=summary

broken-job build-amd64 broken
broken-job build-amd64-pvops broken
broken-job build-amd64-xsm broken
broken-job build-i386 broken
broken-job build-i386-pvops broken
broken-job build-i386-xsm broken

Not pushing.


commit e25808f5018ea601d0adf1d6d10c1cb3cb6a050b
Author: Qingyu 
Date:   Mon Apr 8 16:56:47 2024 +0800

MdePkg: Update the comments of GetInformation function

Refer to Uefi spec 2.10 section 11.11.2, add a new retval
EFI_NOT_FOUND to EFI_ADAPTER_INFORMATION_PROTOCOL.GetInformation().
Reference: [mantis #1866] - GetInfo() of Adapter Information
Protocol should have a provision for IHV to return no data.

Cc: Liming Gao 
Cc: Michael D Kinney 
Cc: Zhiguang Liu 
Signed-off-by: Qingyu 
Signed-off-by: Gahan Saraiya 



[seabios test] 185604: regressions - trouble: blocked/broken

2024-04-15 Thread osstest service owner
flight 185604 seabios real [real]
http://logs.test-lab.xenproject.org/osstest/logs/185604/

Regressions :-(

Tests which did not succeed and are blocking,
including tests which could not be run:
 build-amd64  broken
 build-amd64-pvopsbroken
 build-amd64-xsm  broken
 build-i386   broken
 build-i386-pvops broken
 build-i386-xsm   broken
 build-amd64   5 host-build-prep  fail REGR. vs. 185287
 build-amd64-xsm   5 host-build-prep  fail REGR. vs. 185287
 build-amd64-pvops 5 host-build-prep  fail REGR. vs. 185287
 build-i386-xsm5 host-build-prep  fail REGR. vs. 185287
 build-i3865 host-build-prep  fail REGR. vs. 185287
 build-i386-pvops  5 host-build-prep  fail REGR. vs. 185287

Tests which did not succeed, but are not blocking:
 build-amd64-libvirt   1 build-check(1)   blocked  n/a
 build-i386-libvirt1 build-check(1)   blocked  n/a
 test-amd64-amd64-libvirt-qemuu-debianhvm-amd64-xsm 1 build-check(1) blocked n/a
 test-amd64-amd64-qemuu-freebsd11-amd64  1 build-check(1)   blocked n/a
 test-amd64-amd64-qemuu-freebsd12-amd64  1 build-check(1)   blocked n/a
 test-amd64-amd64-qemuu-nested-amd  1 build-check(1)   blocked  n/a
 test-amd64-amd64-qemuu-nested-intel  1 build-check(1)  blocked n/a
 test-amd64-amd64-xl-qemuu-debianhvm-amd64  1 build-check(1)blocked n/a
 test-amd64-amd64-xl-qemuu-debianhvm-amd64-shadow  1 build-check(1) blocked n/a
 test-amd64-amd64-xl-qemuu-debianhvm-i386-xsm  1 build-check(1) blocked n/a
 test-amd64-amd64-xl-qemuu-dmrestrict-amd64-dmrestrict 1 build-check(1) blocked 
n/a
 test-amd64-amd64-xl-qemuu-win7-amd64  1 build-check(1) blocked n/a
 test-amd64-amd64-xl-qemuu-ws16-amd64  1 build-check(1) blocked n/a

version targeted for testing:
 seabios  e5f2e4c69643bc3cd385306a9e5d29e11578148c
baseline version:
 seabios  c5a361c09a19e3b1a83557b01f11f04b27181a11

Last test of basis   185287  2024-04-09 15:42:58 Z6 days
Testing same since   185604  2024-04-15 13:42:35 Z0 days1 attempts


People who touched revisions under test:
  Daniil Tatianin 
  Kevin O'Connor 

jobs:
 build-amd64-xsm  broken  
 build-i386-xsm   broken  
 build-amd64  broken  
 build-i386   broken  
 build-amd64-libvirt  blocked 
 build-i386-libvirt   blocked 
 build-amd64-pvopsbroken  
 build-i386-pvops broken  
 test-amd64-amd64-libvirt-qemuu-debianhvm-amd64-xsm   blocked 
 test-amd64-amd64-xl-qemuu-debianhvm-i386-xsm blocked 
 test-amd64-amd64-qemuu-nested-amdblocked 
 test-amd64-amd64-xl-qemuu-debianhvm-amd64blocked 
 test-amd64-amd64-qemuu-freebsd11-amd64   blocked 
 test-amd64-amd64-qemuu-freebsd12-amd64   blocked 
 test-amd64-amd64-xl-qemuu-win7-amd64 blocked 
 test-amd64-amd64-xl-qemuu-ws16-amd64 blocked 
 test-amd64-amd64-xl-qemuu-dmrestrict-amd64-dmrestrictblocked 
 test-amd64-amd64-qemuu-nested-intel  blocked 
 test-amd64-amd64-xl-qemuu-debianhvm-amd64-shadow blocked 



sg-report-flight on osstest.test-lab.xenproject.org
logs: /home/logs/logs
images: /home/logs/images

Logs, config files, etc. are available at
http://logs.test-lab.xenproject.org/osstest/logs

Explanation of these reports, and of osstest in general, is at
http://xenbits.xen.org/gitweb/?p=osstest.git;a=blob;f=README.email;hb=master
http://xenbits.xen.org/gitweb/?p=osstest.git;a=blob;f=README;hb=master

Test harness code can be found at
http://xenbits.xen.org/gitweb?p=osstest.git;a=summary

broken-job build-amd64 broken
broken-job build-amd64-pvops broken
broken-job build-amd64-xsm broken
broken-job build-i386 broken
broken-job build-i386-pvops broken
broken-job build-i386-xsm broken

Not pushing.


commit e5f2e4c69643bc3cd385306a9e5d29e11578148c
Author: Daniil Tatianin 
Date:   Thu Apr 11 22:51:35 2024 +0300

pciinit: don't misalign large BARs

Previously we would unconditionally lower the alignment for large BARs
in 

[xen-unstable test] 185597: regressions - trouble: blocked/broken

2024-04-15 Thread osstest service owner
flight 185597 xen-unstable real [real]
http://logs.test-lab.xenproject.org/osstest/logs/185597/

Regressions :-(

Tests which did not succeed and are blocking,
including tests which could not be run:
 build-amd64  broken
 build-amd64-prev broken
 build-amd64-pvopsbroken
 build-amd64-xsm  broken
 build-amd64-xtf  broken
 build-arm64  broken
 build-arm64-pvopsbroken
 build-arm64-xsm  broken
 build-armhf  broken
 build-armhf-pvopsbroken
 build-i386   broken
 build-i386-prev  broken
 build-i386-pvops broken
 build-i386-xsm   broken
 build-amd64-prev  5 host-build-prep  fail REGR. vs. 185281
 build-armhf-pvops 5 host-build-prep  fail REGR. vs. 185281
 build-i386-prev   5 host-build-prep  fail REGR. vs. 185281
 build-amd64-xtf   5 host-build-prep  fail REGR. vs. 185281
 build-amd64-xsm   5 host-build-prep  fail REGR. vs. 185281
 build-i386-xsm5 host-build-prep  fail REGR. vs. 185281
 build-amd64-pvops 5 host-build-prep  fail REGR. vs. 185281
 build-i3865 host-build-prep  fail REGR. vs. 185281
 build-i386-pvops  5 host-build-prep  fail REGR. vs. 185281
 build-arm64-xsm   5 host-build-prep  fail REGR. vs. 185281
 build-arm64   5 host-build-prep  fail REGR. vs. 185281
 build-arm64-pvops 5 host-build-prep  fail REGR. vs. 185281
 build-armhf   5 host-build-prep  fail REGR. vs. 185281
 build-amd64   5 host-build-prep  fail REGR. vs. 185281

Tests which did not succeed, but are not blocking:
 test-xtf-amd64-amd64-21 build-check(1)   blocked  n/a
 test-xtf-amd64-amd64-31 build-check(1)   blocked  n/a
 test-xtf-amd64-amd64-41 build-check(1)   blocked  n/a
 test-amd64-amd64-xl-qemuu-win7-amd64  1 build-check(1) blocked n/a
 test-amd64-amd64-xl-qemuu-ovmf-amd64  1 build-check(1) blocked n/a
 test-amd64-amd64-xl-qemuu-dmrestrict-amd64-dmrestrict 1 build-check(1) blocked 
n/a
 test-amd64-amd64-xl-qemuu-debianhvm-i386-xsm  1 build-check(1) blocked n/a
 test-amd64-amd64-xl-qemuu-debianhvm-amd64-shadow  1 build-check(1) blocked n/a
 test-amd64-amd64-xl-qemuu-debianhvm-amd64  1 build-check(1)blocked n/a
 test-amd64-amd64-xl-qemut-ws16-amd64  1 build-check(1) blocked n/a
 test-amd64-amd64-xl-qemut-win7-amd64  1 build-check(1) blocked n/a
 test-amd64-amd64-xl-qemut-stubdom-debianhvm-amd64-xsm 1 build-check(1) blocked 
n/a
 test-amd64-amd64-xl-qemut-debianhvm-i386-xsm  1 build-check(1) blocked n/a
 test-amd64-amd64-xl-qemut-debianhvm-amd64  1 build-check(1)blocked n/a
 test-amd64-amd64-xl-qcow2 1 build-check(1)   blocked  n/a
 build-amd64-libvirt   1 build-check(1)   blocked  n/a
 test-amd64-amd64-xl-pvshim1 build-check(1)   blocked  n/a
 test-amd64-amd64-xl-pvhv2-intel  1 build-check(1)   blocked  n/a
 test-amd64-amd64-xl-pvhv2-amd  1 build-check(1)   blocked  n/a
 build-arm64-libvirt   1 build-check(1)   blocked  n/a
 test-amd64-amd64-xl-multivcpu  1 build-check(1)   blocked  n/a
 test-amd64-amd64-xl-credit2   1 build-check(1)   blocked  n/a
 build-armhf-libvirt   1 build-check(1)   blocked  n/a
 test-amd64-amd64-xl-credit1   1 build-check(1)   blocked  n/a
 test-amd64-amd64-xl   1 build-check(1)   blocked  n/a
 build-i386-libvirt1 build-check(1)   blocked  n/a
 test-amd64-amd64-qemuu-nested-intel  1 build-check(1)  blocked n/a
 test-amd64-amd64-qemuu-nested-amd  1 build-check(1)   blocked  n/a
 test-amd64-amd64-dom0pvh-xl-amd  1 build-check(1)   blocked  n/a
 test-amd64-amd64-dom0pvh-xl-intel  1 build-check(1)   blocked  n/a
 test-amd64-amd64-qemuu-freebsd12-amd64  1 build-check(1)   blocked n/a
 test-amd64-amd64-examine  1 build-check(1)   blocked  n/a
 test-amd64-amd64-examine-bios  1 build-check(1)   blocked  n/a
 test-amd64-amd64-qemuu-freebsd11-amd64  1 build-check(1)   blocked n/a
 test-amd64-amd64-examine-uefi  1 build-check(1)   blocked  n/a
 test-amd64-amd64-libvirt  1 build-check(1)   blocked  n/a
 test-amd64-amd64-pygrub 

Re: [XEN PATCH] docs/misra: mark the gzip folder as adopted code

2024-04-15 Thread Andrew Cooper
On 15/04/2024 10:56 am, Federico Serafini wrote:
> Mark the whole gzip folder as adopted code and remove the redundant
> deviation of file inflate.
>
> Signed-off-by: Federico Serafini 

Acked-by: Andrew Cooper 

I hadn't realised that we had a special case like this.  Definitely
better to get rid of it.

I've pulled this into my `for-next` branch, and will get it committed
properly when OSSTest (our non-gitlab CI) is in a happier state.



[PATCH 2/4] xen/xlat: Sort structs per file

2024-04-15 Thread Andrew Cooper
Signed-off-by: Andrew Cooper 
---
CC: George Dunlap 
CC: Jan Beulich 
CC: Stefano Stabellini 
CC: Julien Grall 
---
 xen/include/xlat.lst | 40 
 1 file changed, 20 insertions(+), 20 deletions(-)

diff --git a/xen/include/xlat.lst b/xen/include/xlat.lst
index e811342bb096..b3befd9cc113 100644
--- a/xen/include/xlat.lst
+++ b/xen/include/xlat.lst
@@ -22,11 +22,11 @@
 # ? - needs checking
 
 ?  dom0_vga_console_info   xen.h
-?  xenctl_bitmap   xen.h
 ?  mmu_update  xen.h
 !  mmuext_op   xen.h
 !  start_info  xen.h
 ?  vcpu_time_info  xen.h
+?  xenctl_bitmap   xen.h
 
 ?  pmu_amd_ctxtarch-x86/pmu.h
 ?  pmu_archarch-x86/pmu.h
@@ -40,13 +40,6 @@
 
 ?  cpu_offline_action  arch-x86/xen-mca.h
 ?  mc  arch-x86/xen-mca.h
-?  mcinfo_bank arch-x86/xen-mca.h
-?  mcinfo_common   arch-x86/xen-mca.h
-?  mcinfo_extended arch-x86/xen-mca.h
-?  mcinfo_global   arch-x86/xen-mca.h
-?  mcinfo_logical_cpu  arch-x86/xen-mca.h
-?  mcinfo_msr  arch-x86/xen-mca.h
-?  mcinfo_recovery arch-x86/xen-mca.h
 !  mc_fetcharch-x86/xen-mca.h
 ?  mc_info arch-x86/xen-mca.h
 ?  mc_inject_v2arch-x86/xen-mca.h
@@ -54,6 +47,13 @@
 ?  mc_msrinjectarch-x86/xen-mca.h
 ?  mc_notifydomain arch-x86/xen-mca.h
 !  mc_physcpuinfo  arch-x86/xen-mca.h
+?  mcinfo_bank arch-x86/xen-mca.h
+?  mcinfo_common   arch-x86/xen-mca.h
+?  mcinfo_extended arch-x86/xen-mca.h
+?  mcinfo_global   arch-x86/xen-mca.h
+?  mcinfo_logical_cpu  arch-x86/xen-mca.h
+?  mcinfo_msr  arch-x86/xen-mca.h
+?  mcinfo_recovery arch-x86/xen-mca.h
 ?  page_offline_action arch-x86/xen-mca.h
 
 ?  argo_addr   argo.h
@@ -85,18 +85,18 @@
 ?  gnttab_cache_flush  grant_table.h
 !  gnttab_copy grant_table.h
 ?  gnttab_dump_table   grant_table.h
+!  gnttab_get_status_framesgrant_table.h
+?  gnttab_get_version  grant_table.h
 ?  gnttab_map_grant_refgrant_table.h
+?  gnttab_set_version  grant_table.h
 !  gnttab_setup_table  grant_table.h
+?  gnttab_swap_grant_ref   grant_table.h
 !  gnttab_transfer grant_table.h
-?  gnttab_unmap_grant_ref  grant_table.h
 ?  gnttab_unmap_and_replacegrant_table.h
-?  gnttab_set_version  grant_table.h
-?  gnttab_get_version  grant_table.h
-!  gnttab_get_status_framesgrant_table.h
-?  grant_entry_v1  grant_table.h
+?  gnttab_unmap_grant_ref  grant_table.h
 ?  grant_entry_header  grant_table.h
+?  grant_entry_v1  grant_table.h
 ?  grant_entry_v2  grant_table.h
-?  gnttab_swap_grant_ref   grant_table.h
 
 !  dm_op_buf   hvm/dm_op.h
 ?  dm_op_create_ioreq_server   hvm/dm_op.h
@@ -134,11 +134,11 @@
 !  add_to_physmap  memory.h
 !  add_to_physmap_batchmemory.h
 !  foreign_memory_map  memory.h
+!  mem_access_op   memory.h
+!  mem_acquire_resourcememory.h
 !  memory_exchange memory.h
 !  memory_map  memory.h
 !  memory_reservation  memory.h
-!  mem_access_op   memory.h
-!  mem_acquire_resourcememory.h
 !  pod_target  memory.h
 !  remove_from_physmap memory.h
 !  reserved_device_memory_map  memory.h
@@ -154,10 +154,10 @@
 ?  physdev_pci_device  physdev.h
 ?  physdev_pci_device_add  physdev.h
 ?  physdev_pci_mmcfg_reserved  physdev.h
-?  physdev_unmap_pirq  physdev.h
 ?  physdev_restore_msi physdev.h
 ?  physdev_set_ioplphysdev.h
 ?  physdev_setup_gsi   physdev.h
+?  physdev_unmap_pirq  physdev.h
 
 !  pct_registerplatform.h
 !  power_register  platform.h
@@ -169,17 +169,17 @@
 ?  processor_pxplatform.h
 !  psd_package platform.h
 ?  xenpf_enter_acpi_sleep  platform.h
-!  xenpf_symdata   platform.h
-?  

[PATCH 0/4] xen/xlat: Improvements to compat hypercall checking

2024-04-15 Thread Andrew Cooper
This started off as patch 3, and grew somewhat.

Patches 1-3 are simple and hopefully non-controversial.

Patch 4 is an attempt to make the headers less fragile, but came with an
unexpected complication.  Details in the patch.

Andrew Cooper (4):
  xen/xlat: Sort out whitespace
  xen/xlat: Sort structs per file
  xen/gnttab: Perform compat/native gnttab_query_size check
  xen/public: Use -Wpadding for public headers

 xen/common/Makefile  |  1 +
 xen/common/compat/grant_table.c  |  4 ++
 xen/common/hdr-chk.c | 13 ++
 xen/include/public/grant_table.h |  7 
 xen/include/xlat.lst | 70 +---
 5 files changed, 72 insertions(+), 23 deletions(-)
 create mode 100644 xen/common/hdr-chk.c


base-commit: c0f890cd9d5fd2c17a1e3110cb26f98c90ce8429
-- 
2.30.2




[PATCH 3/4] xen/gnttab: Perform compat/native gnttab_query_size check

2024-04-15 Thread Andrew Cooper
This subop appears to have been missed from the compat checks.

Signed-off-by: Andrew Cooper 
---
CC: George Dunlap 
CC: Jan Beulich 
CC: Stefano Stabellini 
CC: Julien Grall 
---
 xen/common/compat/grant_table.c | 4 
 xen/include/xlat.lst| 1 +
 2 files changed, 5 insertions(+)

diff --git a/xen/common/compat/grant_table.c b/xen/common/compat/grant_table.c
index af98eade17c9..8a754055576b 100644
--- a/xen/common/compat/grant_table.c
+++ b/xen/common/compat/grant_table.c
@@ -30,6 +30,10 @@ CHECK_gnttab_unmap_grant_ref;
 CHECK_gnttab_unmap_and_replace;
 #undef xen_gnttab_unmap_and_replace
 
+#define xen_gnttab_query_size gnttab_query_size
+CHECK_gnttab_query_size;
+#undef xen_gnttab_query_size
+
 DEFINE_XEN_GUEST_HANDLE(gnttab_setup_table_compat_t);
 DEFINE_XEN_GUEST_HANDLE(gnttab_transfer_compat_t);
 DEFINE_XEN_GUEST_HANDLE(gnttab_copy_compat_t);
diff --git a/xen/include/xlat.lst b/xen/include/xlat.lst
index b3befd9cc113..53a1bdfc533f 100644
--- a/xen/include/xlat.lst
+++ b/xen/include/xlat.lst
@@ -88,6 +88,7 @@
 !  gnttab_get_status_framesgrant_table.h
 ?  gnttab_get_version  grant_table.h
 ?  gnttab_map_grant_refgrant_table.h
+?  gnttab_query_size   grant_table.h
 ?  gnttab_set_version  grant_table.h
 !  gnttab_setup_table  grant_table.h
 ?  gnttab_swap_grant_ref   grant_table.h
-- 
2.30.2




[PATCH 4/4] xen/public: Use -Wpadding for public headers

2024-04-15 Thread Andrew Cooper
RFC.  In theory this is a great way to avoid some of the spiketraps involved
with C being the official representation.

However, this doesn't build.  gnttab_transfer has a layout that requires a
CONFIG_COMPAT if we want to satisfy -Wpadding for both forms of the structure.

Thoughts on whether this cross-check is worthwhile-enough to warrant the
ifdefary?

~Andrew
---
CC: George Dunlap 
CC: Jan Beulich 
CC: Stefano Stabellini 
CC: Julien Grall 
---
 xen/common/Makefile  |  1 +
 xen/common/hdr-chk.c | 13 +
 xen/include/public/grant_table.h |  7 +++
 3 files changed, 21 insertions(+)
 create mode 100644 xen/common/hdr-chk.c

diff --git a/xen/common/Makefile b/xen/common/Makefile
index d512cad5243f..dbbda70829f1 100644
--- a/xen/common/Makefile
+++ b/xen/common/Makefile
@@ -15,6 +15,7 @@ obj-y += event_fifo.o
 obj-$(CONFIG_GRANT_TABLE) += grant_table.o
 obj-y += guestcopy.o
 obj-y += gzip/
+obj-y += hdr-chk.o
 obj-$(CONFIG_HYPFS) += hypfs.o
 obj-$(CONFIG_IOREQ_SERVER) += ioreq.o
 obj-y += irq.o
diff --git a/xen/common/hdr-chk.c b/xen/common/hdr-chk.c
new file mode 100644
index ..1c7a509dcd06
--- /dev/null
+++ b/xen/common/hdr-chk.c
@@ -0,0 +1,13 @@
+#include 
+
+#include 
+
+#pragma GCC diagnostic error "-Wpadded"
+
+#include 
+
+#ifdef CONFIG_COMPAT
+
+#include 
+
+#endif /* CONFIG_COMPAT */
diff --git a/xen/include/public/grant_table.h b/xen/include/public/grant_table.h
index 1dfa17a6d02a..a66c77d0166c 100644
--- a/xen/include/public/grant_table.h
+++ b/xen/include/public/grant_table.h
@@ -355,6 +355,7 @@ struct gnttab_unmap_grant_ref {
 grant_handle_t handle;
 /* OUT parameters. */
 int16_t  status;  /* => enum grant_status */
+uint16_t _pad0;
 };
 typedef struct gnttab_unmap_grant_ref gnttab_unmap_grant_ref_t;
 DEFINE_XEN_GUEST_HANDLE(gnttab_unmap_grant_ref_t);
@@ -371,6 +372,7 @@ DEFINE_XEN_GUEST_HANDLE(gnttab_unmap_grant_ref_t);
 struct gnttab_setup_table {
 /* IN parameters. */
 domid_t  dom;
+uint16_t _pad0;
 uint32_t nr_frames;
 /* OUT parameters. */
 int16_t  status;  /* => enum grant_status */
@@ -409,9 +411,12 @@ struct gnttab_transfer {
 /* IN parameters. */
 xen_pfn_t mfn;
 domid_t   domid;
+uint16_t  _pad0;
 grant_ref_t   ref;
 /* OUT parameters. */
 int16_t   status;
+uint16_t  _pad1;
+/* XXX compat-dependent padding. */
 };
 typedef struct gnttab_transfer gnttab_transfer_t;
 DEFINE_XEN_GUEST_HANDLE(gnttab_transfer_t);
@@ -468,10 +473,12 @@ DEFINE_XEN_GUEST_HANDLE(gnttab_copy_t);
 struct gnttab_query_size {
 /* IN parameters. */
 domid_t  dom;
+uint16_t _ign1;
 /* OUT parameters. */
 uint32_t nr_frames;
 uint32_t max_nr_frames;
 int16_t  status;  /* => enum grant_status */
+uint16_t _ign2;
 };
 typedef struct gnttab_query_size gnttab_query_size_t;
 DEFINE_XEN_GUEST_HANDLE(gnttab_query_size_t);
-- 
2.30.2




[PATCH 1/4] xen/xlat: Sort out whitespace

2024-04-15 Thread Andrew Cooper
 * Fix tabs/spaces mismatch for certain rows
 * Insert lines between header files to improve legibility

Signed-off-by: Andrew Cooper 
---
CC: George Dunlap 
CC: Jan Beulich 
CC: Stefano Stabellini 
CC: Julien Grall 
---
 xen/include/xlat.lst | 31 +++
 1 file changed, 27 insertions(+), 4 deletions(-)

diff --git a/xen/include/xlat.lst b/xen/include/xlat.lst
index 9c41948514bf..e811342bb096 100644
--- a/xen/include/xlat.lst
+++ b/xen/include/xlat.lst
@@ -20,19 +20,24 @@
 # First column indicator:
 # ! - needs translation
 # ? - needs checking
+
 ?  dom0_vga_console_info   xen.h
 ?  xenctl_bitmap   xen.h
 ?  mmu_update  xen.h
 !  mmuext_op   xen.h
 !  start_info  xen.h
 ?  vcpu_time_info  xen.h
+
 ?  pmu_amd_ctxtarch-x86/pmu.h
 ?  pmu_archarch-x86/pmu.h
 ?  pmu_cntr_pair   arch-x86/pmu.h
 ?  pmu_intel_ctxt  arch-x86/pmu.h
 ?  pmu_regsarch-x86/pmu.h
+
 !  cpu_user_regs   arch-x86/xen-@arch@.h
+
 !  trap_info   arch-x86/xen.h
+
 ?  cpu_offline_action  arch-x86/xen-mca.h
 ?  mc  arch-x86/xen-mca.h
 ?  mcinfo_bank arch-x86/xen-mca.h
@@ -50,6 +55,7 @@
 ?  mc_notifydomain arch-x86/xen-mca.h
 !  mc_physcpuinfo  arch-x86/xen-mca.h
 ?  page_offline_action arch-x86/xen-mca.h
+
 ?  argo_addr   argo.h
 !  argo_iovargo.h
 ?  argo_register_ring  argo.h
@@ -59,6 +65,7 @@
 ?  argo_ring_message_headerargo.h
 ?  argo_send_addr  argo.h
 ?  argo_unregister_ringargo.h
+
 ?  evtchn_alloc_unboundevent_channel.h
 ?  evtchn_bind_interdomain event_channel.h
 ?  evtchn_bind_ipi event_channel.h
@@ -74,6 +81,7 @@
 ?  evtchn_set_priority event_channel.h
 ?  evtchn_status   event_channel.h
 ?  evtchn_unmask   event_channel.h
+
 ?  gnttab_cache_flush  grant_table.h
 !  gnttab_copy grant_table.h
 ?  gnttab_dump_table   grant_table.h
@@ -86,9 +94,10 @@
 ?  gnttab_get_version  grant_table.h
 !  gnttab_get_status_framesgrant_table.h
 ?  grant_entry_v1  grant_table.h
-?   grant_entry_header  grant_table.h
+?  grant_entry_header  grant_table.h
 ?  grant_entry_v2  grant_table.h
 ?  gnttab_swap_grant_ref   grant_table.h
+
 !  dm_op_buf   hvm/dm_op.h
 ?  dm_op_create_ioreq_server   hvm/dm_op.h
 ?  dm_op_destroy_ioreq_server  hvm/dm_op.h
@@ -108,15 +117,20 @@
 ?  dm_op_set_pci_intx_levelhvm/dm_op.h
 ?  dm_op_set_pci_link_routehvm/dm_op.h
 ?  dm_op_track_dirty_vram  hvm/dm_op.h
+
 !  hvm_altp2m_set_mem_access_multi hvm/hvm_op.h
+
 ?  vcpu_hvm_contexthvm/hvm_vcpu.h
 ?  vcpu_hvm_x86_32 hvm/hvm_vcpu.h
 ?  vcpu_hvm_x86_64 hvm/hvm_vcpu.h
+
 ?  hypfs_direntry  hypfs.h
 ?  hypfs_dirlistentry  hypfs.h
+
 ?  kexec_exec  kexec.h
 !  kexec_image kexec.h
 !  kexec_range kexec.h
+
 !  add_to_physmap  memory.h
 !  add_to_physmap_batchmemory.h
 !  foreign_memory_map  memory.h
@@ -130,6 +144,7 @@
 !  reserved_device_memory_map  memory.h
 ?  vmemrange   memory.h
 !  vnuma_topology_info memory.h
+
 ?  physdev_eoi physdev.h
 ?  physdev_get_free_pirq   physdev.h
 ?  physdev_irq physdev.h
@@ -143,6 +158,7 @@
 ?  physdev_restore_msi physdev.h
 ?  physdev_set_ioplphysdev.h
 ?  physdev_setup_gsi   physdev.h
+
 !  pct_registerplatform.h
 !  power_register  platform.h
 ?  processor_csd   platform.h
@@ -158,23 +174,30 @@
 ?  xenpf_pcpu_version  platform.h
 ?  xenpf_resource_entryplatform.h
 ?  xenpf_ucode_revisionplatform.h
+
 ?  pmu_datapmu.h
 ?  pmu_params  pmu.h
+
 !  sched_poll  sched.h
 ?  sched_pin_override  sched.h
 ?  sched_remote_shutdown   sched.h
 ?  sched_shutdown  sched.h
+
 ?  t_buf   trace.h
+
 ?  vcpu_get_physid 

[xen-4.16-testing test] 185556: regressions - trouble: blocked/broken

2024-04-15 Thread osstest service owner
flight 185556 xen-4.16-testing real [real]
http://logs.test-lab.xenproject.org/osstest/logs/185556/

Regressions :-(

Tests which did not succeed and are blocking,
including tests which could not be run:
 build-amd64  broken
 build-amd64-prev broken
 build-amd64-pvopsbroken
 build-amd64-xsm  broken
 build-amd64-xtf  broken
 build-arm64  broken
 build-arm64-pvopsbroken
 build-arm64-xsm  broken
 build-armhf  broken
 build-armhf-pvopsbroken
 build-i386   broken
 build-i386-prev  broken
 build-i386-pvops broken
 build-i386-xsm   broken
 build-amd64-prev  5 host-build-prep  fail REGR. vs. 185283
 build-amd64-xsm   5 host-build-prep  fail REGR. vs. 185283
 build-amd64-pvops 5 host-build-prep  fail REGR. vs. 185283
 build-i3865 host-build-prep  fail REGR. vs. 185283
 build-i386-pvops  5 host-build-prep  fail REGR. vs. 185283
 build-amd64   5 host-build-prep  fail REGR. vs. 185283
 build-amd64-xtf   5 host-build-prep  fail REGR. vs. 185283
 build-armhf-pvops 5 host-build-prep  fail REGR. vs. 185283
 build-i386-prev   5 host-build-prep  fail REGR. vs. 185283
 build-i386-xsm5 host-build-prep  fail REGR. vs. 185283
 build-arm64   5 host-build-prep  fail REGR. vs. 185283
 build-arm64-xsm   5 host-build-prep  fail REGR. vs. 185283
 build-arm64-pvops 5 host-build-prep  fail REGR. vs. 185283
 build-armhf   5 host-build-prep  fail REGR. vs. 185283

Tests which did not succeed, but are not blocking:
 test-amd64-amd64-xl-rtds  1 build-check(1)   blocked  n/a
 test-amd64-amd64-xl-raw   1 build-check(1)   blocked  n/a
 test-amd64-amd64-xl-qemuu-ws16-amd64  1 build-check(1) blocked n/a
 test-amd64-amd64-xl-qemuu-win7-amd64  1 build-check(1) blocked n/a
 test-amd64-amd64-xl-qemuu-ovmf-amd64  1 build-check(1) blocked n/a
 test-amd64-amd64-xl-qemuu-dmrestrict-amd64-dmrestrict 1 build-check(1) blocked 
n/a
 test-amd64-amd64-xl-qemuu-debianhvm-i386-xsm  1 build-check(1) blocked n/a
 test-amd64-amd64-xl-qemuu-debianhvm-amd64-shadow  1 build-check(1) blocked n/a
 test-amd64-amd64-xl-qemuu-debianhvm-amd64  1 build-check(1)blocked n/a
 test-amd64-amd64-xl-qemut-ws16-amd64  1 build-check(1) blocked n/a
 test-amd64-amd64-xl-qemut-win7-amd64  1 build-check(1) blocked n/a
 test-amd64-amd64-xl-qemut-stubdom-debianhvm-amd64-xsm 1 build-check(1) blocked 
n/a
 build-amd64-libvirt   1 build-check(1)   blocked  n/a
 test-amd64-amd64-xl-qemut-debianhvm-i386-xsm  1 build-check(1) blocked n/a
 test-amd64-amd64-xl-qemut-debianhvm-amd64  1 build-check(1)blocked n/a
 test-amd64-amd64-xl-qcow2 1 build-check(1)   blocked  n/a
 build-arm64-libvirt   1 build-check(1)   blocked  n/a
 test-amd64-amd64-xl-pvshim1 build-check(1)   blocked  n/a
 test-amd64-amd64-xl-pvhv2-intel  1 build-check(1)   blocked  n/a
 build-armhf-libvirt   1 build-check(1)   blocked  n/a
 test-amd64-amd64-xl-pvhv2-amd  1 build-check(1)   blocked  n/a
 test-amd64-amd64-xl-multivcpu  1 build-check(1)   blocked  n/a
 build-i386-libvirt1 build-check(1)   blocked  n/a
 test-amd64-amd64-xl-credit2   1 build-check(1)   blocked  n/a
 test-amd64-amd64-xl-credit1   1 build-check(1)   blocked  n/a
 test-amd64-amd64-dom0pvh-xl-amd  1 build-check(1)   blocked  n/a
 test-amd64-amd64-dom0pvh-xl-intel  1 build-check(1)   blocked  n/a
 test-amd64-amd64-xl   1 build-check(1)   blocked  n/a
 test-amd64-amd64-libvirt  1 build-check(1)   blocked  n/a
 test-amd64-amd64-libvirt-pair  1 build-check(1)   blocked  n/a
 test-amd64-amd64-qemuu-nested-intel  1 build-check(1)  blocked n/a
 test-amd64-amd64-libvirt-qcow2  1 build-check(1)   blocked  n/a
 test-amd64-amd64-libvirt-qemuu-debianhvm-amd64-xsm 1 build-check(1) blocked n/a
 test-amd64-amd64-qemuu-nested-amd  1 build-check(1)   blocked  n/a
 test-amd64-amd64-libvirt-raw  1 build-check(1)   blocked  n/a
 test-amd64-amd64-libvirt-vhd  1 build-check(1)   blocked  n/a
 

[xen-4.17-testing test] 185536: regressions - trouble: blocked/broken

2024-04-15 Thread osstest service owner
flight 185536 xen-4.17-testing real [real]
http://logs.test-lab.xenproject.org/osstest/logs/185536/

Regressions :-(

Tests which did not succeed and are blocking,
including tests which could not be run:
 build-amd64  broken
 build-amd64-prev broken
 build-amd64-pvopsbroken
 build-amd64-xsm  broken
 build-amd64-xtf  broken
 build-arm64  broken
 build-arm64-pvopsbroken
 build-arm64-xsm  broken
 build-armhf  broken
 build-armhf-pvopsbroken
 build-i386   broken
 build-i386-prev  broken
 build-i386-pvops broken
 build-i386-xsm   broken
 build-amd64-prev  5 host-build-prep  fail REGR. vs. 185284
 build-amd64-xtf   5 host-build-prep  fail REGR. vs. 185284
 build-amd64   5 host-build-prep  fail REGR. vs. 185284
 build-amd64-pvops 5 host-build-prep  fail REGR. vs. 185284
 build-armhf-pvops 5 host-build-prep  fail REGR. vs. 185284
 build-amd64-xsm   5 host-build-prep  fail REGR. vs. 185284
 build-i3865 host-build-prep  fail REGR. vs. 185284
 build-i386-xsm5 host-build-prep  fail REGR. vs. 185284
 build-i386-prev   5 host-build-prep  fail REGR. vs. 185284
 build-i386-pvops  5 host-build-prep  fail REGR. vs. 185284
 build-arm64-xsm   5 host-build-prep  fail REGR. vs. 185284
 build-arm64   5 host-build-prep  fail REGR. vs. 185284
 build-arm64-pvops 5 host-build-prep  fail REGR. vs. 185284
 build-armhf   5 host-build-prep  fail REGR. vs. 185284

Tests which did not succeed, but are not blocking:
 test-amd64-amd64-xl-rtds  1 build-check(1)   blocked  n/a
 test-amd64-amd64-xl-raw   1 build-check(1)   blocked  n/a
 test-amd64-amd64-xl-qemuu-ws16-amd64  1 build-check(1) blocked n/a
 test-amd64-amd64-xl-qemuu-win7-amd64  1 build-check(1) blocked n/a
 test-amd64-amd64-xl-qemuu-ovmf-amd64  1 build-check(1) blocked n/a
 test-amd64-amd64-xl-qemuu-dmrestrict-amd64-dmrestrict 1 build-check(1) blocked 
n/a
 test-amd64-amd64-xl-qemuu-debianhvm-i386-xsm  1 build-check(1) blocked n/a
 test-amd64-amd64-xl-qemuu-debianhvm-amd64-shadow  1 build-check(1) blocked n/a
 test-amd64-amd64-xl-qemuu-debianhvm-amd64  1 build-check(1)blocked n/a
 test-amd64-amd64-xl-qemut-ws16-amd64  1 build-check(1) blocked n/a
 test-amd64-amd64-xl-qemut-win7-amd64  1 build-check(1) blocked n/a
 test-amd64-amd64-xl-qemut-stubdom-debianhvm-amd64-xsm 1 build-check(1) blocked 
n/a
 build-amd64-libvirt   1 build-check(1)   blocked  n/a
 test-amd64-amd64-xl-qemut-debianhvm-i386-xsm  1 build-check(1) blocked n/a
 test-amd64-amd64-xl-qemut-debianhvm-amd64  1 build-check(1)blocked n/a
 test-amd64-amd64-xl-qcow2 1 build-check(1)   blocked  n/a
 build-arm64-libvirt   1 build-check(1)   blocked  n/a
 test-amd64-amd64-xl-pvshim1 build-check(1)   blocked  n/a
 test-amd64-amd64-xl-pvhv2-intel  1 build-check(1)   blocked  n/a
 build-armhf-libvirt   1 build-check(1)   blocked  n/a
 test-amd64-amd64-xl-pvhv2-amd  1 build-check(1)   blocked  n/a
 test-amd64-amd64-xl-multivcpu  1 build-check(1)   blocked  n/a
 build-i386-libvirt1 build-check(1)   blocked  n/a
 test-amd64-amd64-xl-credit2   1 build-check(1)   blocked  n/a
 test-amd64-amd64-xl-credit1   1 build-check(1)   blocked  n/a
 test-amd64-amd64-dom0pvh-xl-amd  1 build-check(1)   blocked  n/a
 test-amd64-amd64-dom0pvh-xl-intel  1 build-check(1)   blocked  n/a
 test-amd64-amd64-xl   1 build-check(1)   blocked  n/a
 test-amd64-amd64-libvirt  1 build-check(1)   blocked  n/a
 test-amd64-amd64-libvirt-pair  1 build-check(1)   blocked  n/a
 test-amd64-amd64-qemuu-nested-intel  1 build-check(1)  blocked n/a
 test-amd64-amd64-libvirt-qcow2  1 build-check(1)   blocked  n/a
 test-amd64-amd64-libvirt-qemuu-debianhvm-amd64-xsm 1 build-check(1) blocked n/a
 test-amd64-amd64-qemuu-nested-amd  1 build-check(1)   blocked  n/a
 test-amd64-amd64-libvirt-raw  1 build-check(1)   blocked  n/a
 test-amd64-amd64-libvirt-vhd  1 build-check(1)   blocked  n/a
 

Re: Rewritten XSA status page, xsa.json

2024-04-15 Thread Andrew Cooper
On 15/04/2024 3:14 pm, George Dunlap wrote:
> Hey all,
>
> Some of you may have noticed that xenbis.xenproject.org/xsa/ doesn't
> currently list XSA-456.  This has prompted me to rewrite the perl code
> which generates that area of the webpage into golang, which is much
> easier for the current security team to understand and modify.  The
> draft replacement is here:
>
> https://xenbits.xenproject.org/people/gdunlap/xsa-draft/
>
> In particular, if you use `xsa.json` for any purpose, let me know if
> you have any issues.  If I don't hear any objections I'll replace the
> website generation code on Wednesday.

As I said on Friday, LGTM.

I'm tempted to say put it live now, announce it on Matrix and ask for
people to point out issues that they find.

Or post your draft link and ask people to look at that?  It's the
downstreams who are more likely to notice problems...


But a tangent while we're here.  How difficult would it be to get some
basic info about XSAs 1-25 on this page?

We have the primary advisory-*.txt's in xsa.git at least, and going to
the wiki isn't great.

~Andrew



[PATCH] x86/spec: fix reporting of BHB clearing usage from guest entry points

2024-04-15 Thread Roger Pau Monne
Reporting whether the BHB clearing on entry is done for the different domains
types based on cpu_has_bhb_seq is incorrect, as that variable signals whether
there's a BHB clearing sequence selected, but that alone doesn't imply that
such sequence is used from the PV and/or HVM entry points.

Instead use opt_bhb_entry_{pv,hvm} which do signal whether BHB clearing is
performed on entry from PV/HVM.

Fixes: 689ad48ce9cf ('x86/spec-ctrl: Wire up the Native-BHI software sequences')
Signed-off-by: Roger Pau Monné 
---
 xen/arch/x86/spec_ctrl.c | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

diff --git a/xen/arch/x86/spec_ctrl.c b/xen/arch/x86/spec_ctrl.c
index dd01e30844a1..29f5248d01d1 100644
--- a/xen/arch/x86/spec_ctrl.c
+++ b/xen/arch/x86/spec_ctrl.c
@@ -643,7 +643,7 @@ static void __init print_details(enum ind_thunk thunk)
opt_eager_fpu ? " EAGER_FPU" : "",
opt_verw_hvm  ? " VERW"  : "",
boot_cpu_has(X86_FEATURE_IBPB_ENTRY_HVM)  ? " IBPB-entry": "",
-   cpu_has_bhb_seq   ? " BHB-entry" : "");
+   opt_bhb_entry_hvm ? " BHB-entry" : "");
 
 #endif
 #ifdef CONFIG_PV
@@ -658,7 +658,7 @@ static void __init print_details(enum ind_thunk thunk)
opt_eager_fpu ? " EAGER_FPU" : "",
opt_verw_pv   ? " VERW"  : "",
boot_cpu_has(X86_FEATURE_IBPB_ENTRY_PV)   ? " IBPB-entry": "",
-   cpu_has_bhb_seq   ? " BHB-entry" : "");
+   opt_bhb_entry_pv  ? " BHB-entry" : "");
 
 printk("  XPTI (64-bit PV only): Dom0 %s, DomU %s (with%s PCID)\n",
opt_xpti_hwdom ? "enabled" : "disabled",
-- 
2.44.0




Rewritten XSA status page, xsa.json

2024-04-15 Thread George Dunlap
Hey all,

Some of you may have noticed that xenbis.xenproject.org/xsa/ doesn't
currently list XSA-456.  This has prompted me to rewrite the perl code
which generates that area of the webpage into golang, which is much
easier for the current security team to understand and modify.  The
draft replacement is here:

https://xenbits.xenproject.org/people/gdunlap/xsa-draft/

In particular, if you use `xsa.json` for any purpose, let me know if
you have any issues.  If I don't hear any objections I'll replace the
website generation code on Wednesday.

Thanks,
 -George



Re: [XEN PATCH v4 0/5] x86/iommu: Drop IOMMU support when cx16 isn't supported

2024-04-15 Thread Teddy Astie
Le 15/04/2024 à 14:15, Teddy Astie a écrit :
> All hardware that supports VT-d/AMD-Vi that exists also supports cx16 (aside
> specifically crafted virtual machines).
>
> Some IOMMU code paths in Xen consider cases where VT-d/AMD-Vi is supported
> while cx16 isn't, those paths may be bugged and are barely tested, dead code
> in practice.
>
> Disable IOMMU in case we have IOMMU hardware but no cx16, then cleanup
> no-cx16 handling logic from VT-d and AMD-Vi drivers. Also disable
> interrupt remapping that also relies on cx16.
>
> Teddy Astie (5):
>VT-d: Disable IOMMU if cx16 isn't supported
>AMD-Vi: Disable IOMMU if cx16 isn't supported
>VT-d: Cleanup MAP_SINGLE_DEVICE and related code
>VT-d: Disable intrerrupt remapping if cx16 is not supported
>AMD-Vi: Disable intrerrupt remapping if cx16 is not supported
>
>   xen/drivers/passthrough/amd/iommu_intr.c|  6 ++
>   xen/drivers/passthrough/amd/iommu_map.c | 42 --
>   xen/drivers/passthrough/amd/pci_amd_iommu.c |  6 ++
>   xen/drivers/passthrough/vtd/intremap.c  | 70 +---
>   xen/drivers/passthrough/vtd/iommu.c | 92 +++--
>   xen/drivers/passthrough/vtd/vtd.h   |  5 +-
>   6 files changed, 77 insertions(+), 144 deletions(-)
>

Here is the patch history that got lost for some reason in this cover.

Changed in v2:

  * Added cleanup no-cx16 code for x2APIC
  * Fixed commit and code formatting
  * Added missing Suggested-by note

Changed in v3:

  * Use -ENODEV instead of -ENOSYS.

Changed in v4:

  * Reworded "Disable IOMMU if cx16 isn't supported"
  * Moved interrupt remapping cleanup in separate patches
  * Check cx16 for interrupt remapping in driver's callbacks rather than
in x2apic_bsp_setup

Teddy

---


Teddy Astie | Vates XCP-ng Intern

XCP-ng & Xen Orchestra - Vates solutions

web: https://vates.tech




Re: [PATCH 1/2] swiotlb: Remove alloc_size argument to swiotlb_tbl_map_single()

2024-04-15 Thread Petr Tesařík
On Mon, 15 Apr 2024 13:03:30 +
Michael Kelley  wrote:

> From: Petr Tesařík  Sent: Monday, April 15, 2024 5:50 AM
> > 
> > On Mon, 15 Apr 2024 12:23:22 +
> > Michael Kelley  wrote:
> >   
> > > From: Petr Tesařík  Sent: Monday, April 15, 2024 4:46 
> > > AM  
> > > >
> > > > Hi Michael,
> > > >
> > > > sorry for taking so long to answer. Yes, there was no agreement on the
> > > > removal of the "dir" parameter, but I'm not sure it's because of
> > > > symmetry with swiotlb_sync_*(), because the topic was not really
> > > > discussed.
> > > >
> > > > The discussion was about the KUnit test suite and whether direction is
> > > > a property of the bounce buffer or of each sync operation. Since DMA API
> > > > defines associates each DMA buffer with a direction, the direction
> > > > parameter passed to swiotlb_sync_*() should match what was passed to
> > > > swiotlb_tbl_map_single(), because that's how it is used by the generic
> > > > DMA code. In other words, if the parameter is kept, it should be kept
> > > > to match dma_map_*().
> > > >
> > > > However, there is also symmetry with swiotlb_tbl_unmap_single(). This
> > > > function does use the parameter for the final sync. I believe there
> > > > should be a matching initial sync in swiotlb_tbl_map_single(). In
> > > > short, the buffer sync for DMA non-coherent devices should be moved from
> > > > swiotlb_map() to swiotlb_tbl_map_single(). If this sync is not needed,
> > > > then the caller can (and should) include DMA_ATTR_SKIP_CPU_SYNC in
> > > > the flags parameter.
> > > >
> > > > To sum it up:
> > > >
> > > > * Do *NOT* remove the "dir" parameter.
> > > > * Let me send a patch which moves the initial buffer sync.
> > > >  
> > >
> > > I'm not seeing the need to move the initial buffer sync.  All
> > > callers of swiotlb_tbl_map_single() already have a subsequent
> > > check for a non-coherent device, and a call to
> > > arch_sync_dma_for_device().  And the Xen code has some
> > > special handling that probably shouldn't go in
> > > swiotlb_tbl_map_single().  Or am I missing something?  
> > 
> > Oh, sure, there's nothing broken ATM. It's merely a cleanup. The API is
> > asymmetric and thus confusing. You get a final sync by default if you
> > call swiotlb_tbl_unmap_single(),   
> 
> I don't see that final sync in swiotlb_tbl_unmap_single().  It calls
> swiotlb_bounce() to copy the data, but it doesn't deal with
> non-coherent devices or call arch_sync_dma_for_cpu().

Ouch. You're right! The buffer gets only bounced but not synced if
device DMA is non-coherent. So, how is this supposed to work?

Now I'm looking at the code in dma_direct_map_page(), and it calls
arch_sync_dma_for_device() explicitly, _except_ when using SWIOTLB. So,
maybe I should instead review all callers of swiotlb_map(), make sure
that they handle non-coherent devices, and then remove the sync from
swiotlb_map()?

I mean, the current situation seems somewhat disorganized to me.

Petr T



[linux-6.1 test] 185595: regressions - trouble: blocked/broken

2024-04-15 Thread osstest service owner
flight 185595 linux-6.1 real [real]
http://logs.test-lab.xenproject.org/osstest/logs/185595/

Regressions :-(

Tests which did not succeed and are blocking,
including tests which could not be run:
 build-amd64  broken
 build-amd64-pvopsbroken
 build-amd64-xsm  broken
 build-arm64  broken
 build-arm64-pvopsbroken
 build-arm64-xsm  broken
 build-armhf  broken
 build-armhf-pvopsbroken
 build-i386   broken
 build-i386-pvops broken
 build-i386-xsm   broken
 build-amd64-pvops 5 host-build-prep  fail REGR. vs. 185299
 build-amd64   5 host-build-prep  fail REGR. vs. 185299
 build-amd64-xsm   5 host-build-prep  fail REGR. vs. 185299
 build-i3865 host-build-prep  fail REGR. vs. 185299
 build-armhf-pvops 5 host-build-prep  fail REGR. vs. 185299
 build-i386-pvops  5 host-build-prep  fail REGR. vs. 185299
 build-i386-xsm5 host-build-prep  fail REGR. vs. 185299
 build-arm64   5 host-build-prep  fail REGR. vs. 185299
 build-arm64-xsm   5 host-build-prep  fail REGR. vs. 185299
 build-arm64-pvops 5 host-build-prep  fail REGR. vs. 185299
 build-armhf   5 host-build-prep  fail REGR. vs. 185299

Tests which did not succeed, but are not blocking:
 test-amd64-amd64-xl-vhd   1 build-check(1)   blocked  n/a
 test-amd64-amd64-xl-shadow1 build-check(1)   blocked  n/a
 test-amd64-amd64-xl-rtds  1 build-check(1)   blocked  n/a
 test-amd64-amd64-xl-raw   1 build-check(1)   blocked  n/a
 test-amd64-amd64-xl-qemuu-ws16-amd64  1 build-check(1) blocked n/a
 test-amd64-amd64-xl-qemuu-win7-amd64  1 build-check(1) blocked n/a
 test-amd64-amd64-xl-qemuu-ovmf-amd64  1 build-check(1) blocked n/a
 test-amd64-amd64-xl-qemuu-dmrestrict-amd64-dmrestrict 1 build-check(1) blocked 
n/a
 test-amd64-amd64-xl-qemuu-debianhvm-i386-xsm  1 build-check(1) blocked n/a
 test-amd64-amd64-xl-qemuu-debianhvm-amd64-shadow  1 build-check(1) blocked n/a
 test-amd64-amd64-xl-qemuu-debianhvm-amd64  1 build-check(1)blocked n/a
 test-amd64-amd64-xl-qemut-ws16-amd64  1 build-check(1) blocked n/a
 build-amd64-libvirt   1 build-check(1)   blocked  n/a
 test-amd64-amd64-xl-qemut-win7-amd64  1 build-check(1) blocked n/a
 test-amd64-amd64-xl-qemut-stubdom-debianhvm-amd64-xsm 1 build-check(1) blocked 
n/a
 build-arm64-libvirt   1 build-check(1)   blocked  n/a
 test-amd64-amd64-xl-qemut-debianhvm-i386-xsm  1 build-check(1) blocked n/a
 test-amd64-amd64-xl-qemut-debianhvm-amd64  1 build-check(1)blocked n/a
 test-amd64-amd64-xl-qcow2 1 build-check(1)   blocked  n/a
 build-armhf-libvirt   1 build-check(1)   blocked  n/a
 test-amd64-amd64-xl-pvshim1 build-check(1)   blocked  n/a
 build-i386-libvirt1 build-check(1)   blocked  n/a
 test-amd64-amd64-xl-pvhv2-intel  1 build-check(1)   blocked  n/a
 test-amd64-amd64-dom0pvh-xl-amd  1 build-check(1)   blocked  n/a
 test-amd64-amd64-xl-pvhv2-amd  1 build-check(1)   blocked  n/a
 test-amd64-amd64-dom0pvh-xl-intel  1 build-check(1)   blocked  n/a
 test-amd64-amd64-xl-multivcpu  1 build-check(1)   blocked  n/a
 test-amd64-amd64-examine  1 build-check(1)   blocked  n/a
 test-amd64-amd64-examine-bios  1 build-check(1)   blocked  n/a
 test-amd64-amd64-examine-uefi  1 build-check(1)   blocked  n/a
 test-amd64-amd64-xl-credit2   1 build-check(1)   blocked  n/a
 test-amd64-amd64-libvirt  1 build-check(1)   blocked  n/a
 test-amd64-amd64-libvirt-pair  1 build-check(1)   blocked  n/a
 test-amd64-amd64-xl-credit1   1 build-check(1)   blocked  n/a
 test-amd64-amd64-libvirt-qcow2  1 build-check(1)   blocked  n/a
 test-amd64-amd64-libvirt-qemuu-debianhvm-amd64-xsm 1 build-check(1) blocked n/a
 test-amd64-amd64-xl   1 build-check(1)   blocked  n/a
 test-amd64-amd64-libvirt-raw  1 build-check(1)   blocked  n/a
 test-amd64-amd64-libvirt-vhd  1 build-check(1)   blocked  n/a
 test-amd64-amd64-qemuu-nested-intel  1 build-check(1)  blocked n/a
 test-amd64-amd64-libvirt-xsm  1 build-check(1)   blocked  n/a
 test-amd64-amd64-pair 1 build-check(1)   

RE: [PATCH 1/2] swiotlb: Remove alloc_size argument to swiotlb_tbl_map_single()

2024-04-15 Thread Michael Kelley
From: Petr Tesařík  Sent: Monday, April 15, 2024 5:50 AM
> 
> On Mon, 15 Apr 2024 12:23:22 +
> Michael Kelley  wrote:
> 
> > From: Petr Tesařík  Sent: Monday, April 15, 2024 4:46 AM
> > >
> > > Hi Michael,
> > >
> > > sorry for taking so long to answer. Yes, there was no agreement on the
> > > removal of the "dir" parameter, but I'm not sure it's because of
> > > symmetry with swiotlb_sync_*(), because the topic was not really
> > > discussed.
> > >
> > > The discussion was about the KUnit test suite and whether direction is
> > > a property of the bounce buffer or of each sync operation. Since DMA API
> > > defines associates each DMA buffer with a direction, the direction
> > > parameter passed to swiotlb_sync_*() should match what was passed to
> > > swiotlb_tbl_map_single(), because that's how it is used by the generic
> > > DMA code. In other words, if the parameter is kept, it should be kept
> > > to match dma_map_*().
> > >
> > > However, there is also symmetry with swiotlb_tbl_unmap_single(). This
> > > function does use the parameter for the final sync. I believe there
> > > should be a matching initial sync in swiotlb_tbl_map_single(). In
> > > short, the buffer sync for DMA non-coherent devices should be moved from
> > > swiotlb_map() to swiotlb_tbl_map_single(). If this sync is not needed,
> > > then the caller can (and should) include DMA_ATTR_SKIP_CPU_SYNC in
> > > the flags parameter.
> > >
> > > To sum it up:
> > >
> > > * Do *NOT* remove the "dir" parameter.
> > > * Let me send a patch which moves the initial buffer sync.
> > >
> >
> > I'm not seeing the need to move the initial buffer sync.  All
> > callers of swiotlb_tbl_map_single() already have a subsequent
> > check for a non-coherent device, and a call to
> > arch_sync_dma_for_device().  And the Xen code has some
> > special handling that probably shouldn't go in
> > swiotlb_tbl_map_single().  Or am I missing something?
> 
> Oh, sure, there's nothing broken ATM. It's merely a cleanup. The API is
> asymmetric and thus confusing. You get a final sync by default if you
> call swiotlb_tbl_unmap_single(), 

I don't see that final sync in swiotlb_tbl_unmap_single().  It calls
swiotlb_bounce() to copy the data, but it doesn't deal with
non-coherent devices or call arch_sync_dma_for_cpu().

> but you don't get an initial sync by
> default if you call swiotlb_tbl_map_single(). This is difficult to
> remember, so potential new users of the API may incorrectly assume that
> an initial sync is done, or that a final sync is not done.
> 
> And yes, when moving the code, all current users of
> swiotlb_tbl_map_single() should specify DMA_ATTR_SKIP_CPU_SYNC.
> 
> Petr T


Re: [PATCH 1/2] swiotlb: Remove alloc_size argument to swiotlb_tbl_map_single()

2024-04-15 Thread Petr Tesařík
On Mon, 15 Apr 2024 12:23:22 +
Michael Kelley  wrote:

> From: Petr Tesařík  Sent: Monday, April 15, 2024 4:46 AM
> > 
> > Hi Michael,
> > 
> > sorry for taking so long to answer. Yes, there was no agreement on the
> > removal of the "dir" parameter, but I'm not sure it's because of
> > symmetry with swiotlb_sync_*(), because the topic was not really
> > discussed.
> > 
> > The discussion was about the KUnit test suite and whether direction is
> > a property of the bounce buffer or of each sync operation. Since DMA API
> > defines associates each DMA buffer with a direction, the direction
> > parameter passed to swiotlb_sync_*() should match what was passed to
> > swiotlb_tbl_map_single(), because that's how it is used by the generic
> > DMA code. In other words, if the parameter is kept, it should be kept
> > to match dma_map_*().
> > 
> > However, there is also symmetry with swiotlb_tbl_unmap_single(). This
> > function does use the parameter for the final sync. I believe there
> > should be a matching initial sync in swiotlb_tbl_map_single(). In
> > short, the buffer sync for DMA non-coherent devices should be moved from
> > swiotlb_map() to swiotlb_tbl_map_single(). If this sync is not needed,
> > then the caller can (and should) include DMA_ATTR_SKIP_CPU_SYNC in
> > the flags parameter.
> > 
> > To sum it up:
> > 
> > * Do *NOT* remove the "dir" parameter.
> > * Let me send a patch which moves the initial buffer sync.
> >   
> 
> I'm not seeing the need to move the initial buffer sync.  All
> callers of swiotlb_tbl_map_single() already have a subsequent
> check for a non-coherent device, and a call to 
> arch_sync_dma_for_device().  And the Xen code has some 
> special handling that probably shouldn't go in
> swiotlb_tbl_map_single().  Or am I missing something?

Oh, sure, there's nothing broken ATM. It's merely a cleanup. The API is
asymmetric and thus confusing. You get a final sync by default if you
call swiotlb_tbl_unmap_single(), but you don't get an initial sync by
default if you call swiotlb_tbl_map_single(). This is difficult to
remember, so potential new users of the API may incorrectly assume that
an initial sync is done, or that a final sync is not done.

And yes, when moving the code, all current users of
swiotlb_tbl_map_single() should specify DMA_ATTR_SKIP_CPU_SYNC.

Petr T



RE: [PATCH 1/2] swiotlb: Remove alloc_size argument to swiotlb_tbl_map_single()

2024-04-15 Thread Michael Kelley
From: Petr Tesařík  Sent: Monday, April 15, 2024 4:46 AM
> 
> Hi Michael,
> 
> sorry for taking so long to answer. Yes, there was no agreement on the
> removal of the "dir" parameter, but I'm not sure it's because of
> symmetry with swiotlb_sync_*(), because the topic was not really
> discussed.
> 
> The discussion was about the KUnit test suite and whether direction is
> a property of the bounce buffer or of each sync operation. Since DMA API
> defines associates each DMA buffer with a direction, the direction
> parameter passed to swiotlb_sync_*() should match what was passed to
> swiotlb_tbl_map_single(), because that's how it is used by the generic
> DMA code. In other words, if the parameter is kept, it should be kept
> to match dma_map_*().
> 
> However, there is also symmetry with swiotlb_tbl_unmap_single(). This
> function does use the parameter for the final sync. I believe there
> should be a matching initial sync in swiotlb_tbl_map_single(). In
> short, the buffer sync for DMA non-coherent devices should be moved from
> swiotlb_map() to swiotlb_tbl_map_single(). If this sync is not needed,
> then the caller can (and should) include DMA_ATTR_SKIP_CPU_SYNC in
> the flags parameter.
> 
> To sum it up:
> 
> * Do *NOT* remove the "dir" parameter.
> * Let me send a patch which moves the initial buffer sync.
> 

I'm not seeing the need to move the initial buffer sync.  All
callers of swiotlb_tbl_map_single() already have a subsequent
check for a non-coherent device, and a call to 
arch_sync_dma_for_device().  And the Xen code has some 
special handling that probably shouldn't go in
swiotlb_tbl_map_single().  Or am I missing something?

Michael



[XEN PATCH v4 2/5] AMD-Vi: Disable IOMMU if cx16 isn't supported

2024-04-15 Thread Teddy Astie
All hardware with AMD-Vi has CMPXCHG16 support. Check this at initialisation
time, and remove the effectively-dead logic for the non-cx16 case.

Suggested-by: Andrew Cooper 
Signed-off-by: Teddy Astie 
---
 xen/drivers/passthrough/amd/iommu_map.c | 42 +++--
 xen/drivers/passthrough/amd/pci_amd_iommu.c |  6 +++
 2 files changed, 20 insertions(+), 28 deletions(-)

diff --git a/xen/drivers/passthrough/amd/iommu_map.c 
b/xen/drivers/passthrough/amd/iommu_map.c
index e0f4fe736a..f67975e700 100644
--- a/xen/drivers/passthrough/amd/iommu_map.c
+++ b/xen/drivers/passthrough/amd/iommu_map.c
@@ -167,15 +167,14 @@ int amd_iommu_set_root_page_table(struct amd_iommu_dte 
*dte,
 {
 bool valid = flags & SET_ROOT_VALID;
 
-if ( dte->v && dte->tv &&
- (cpu_has_cx16 || (flags & SET_ROOT_WITH_UNITY_MAP)) )
+if ( dte->v && dte->tv )
 {
 union {
 struct amd_iommu_dte dte;
 uint64_t raw64[4];
 __uint128_t raw128[2];
 } ldte = { .dte = *dte };
-__uint128_t old = ldte.raw128[0];
+__uint128_t res, old = ldte.raw128[0];
 int ret = 0;
 
 ldte.dte.domain_id = domain_id;
@@ -185,33 +184,20 @@ int amd_iommu_set_root_page_table(struct amd_iommu_dte 
*dte,
 ldte.dte.paging_mode = paging_mode;
 ldte.dte.v = valid;
 
-if ( cpu_has_cx16 )
-{
-__uint128_t res = cmpxchg16b(dte, , [0]);
+res = cmpxchg16b(dte, , [0]);
 
-/*
- * Hardware does not update the DTE behind our backs, so the
- * return value should match "old".
- */
-if ( res != old )
-{
-printk(XENLOG_ERR
-   "Dom%d: unexpected DTE %016lx_%016lx (expected 
%016lx_%016lx)\n",
-   domain_id,
-   (uint64_t)(res >> 64), (uint64_t)res,
-   (uint64_t)(old >> 64), (uint64_t)old);
-ret = -EILSEQ;
-}
-}
-else /* Best effort, updating domain_id last. */
+/*
+ * Hardware does not update the DTE behind our backs, so the
+ * return value should match "old".
+ */
+if ( res != old )
 {
-uint64_t *ptr = (void *)dte;
-
-write_atomic(ptr + 0, ldte.raw64[0]);
-/* No barrier should be needed between these two. */
-write_atomic(ptr + 1, ldte.raw64[1]);
-
-ret = 1;
+printk(XENLOG_ERR
+   "Dom%d: unexpected DTE %016lx_%016lx (expected 
%016lx_%016lx)\n",
+   domain_id,
+   (uint64_t)(res >> 64), (uint64_t)res,
+   (uint64_t)(old >> 64), (uint64_t)old);
+ret = -EILSEQ;
 }
 
 return ret;
diff --git a/xen/drivers/passthrough/amd/pci_amd_iommu.c 
b/xen/drivers/passthrough/amd/pci_amd_iommu.c
index f6efd88e36..3a6a23f706 100644
--- a/xen/drivers/passthrough/amd/pci_amd_iommu.c
+++ b/xen/drivers/passthrough/amd/pci_amd_iommu.c
@@ -305,6 +305,12 @@ static int __init cf_check iov_detect(void)
 if ( !iommu_enable && !iommu_intremap )
 return 0;
 
+if ( unlikely(!cpu_has_cx16) )
+{
+printk("AMD-Vi: CPU doesn't support CMPXCHG16B, disabling\n");
+return -ENODEV;
+}
+
 if ( (init_done ? amd_iommu_init_late()
 : amd_iommu_init(false)) != 0 )
 {
-- 
2.44.0



Teddy Astie | Vates XCP-ng Intern

XCP-ng & Xen Orchestra - Vates solutions

web: https://vates.tech



[XEN PATCH v4 1/5] VT-d: Disable IOMMU if cx16 isn't supported

2024-04-15 Thread Teddy Astie
All hardware with VT-d has CMPXCHG16B support. Check this at initialisation
time, and remove the effectively-dead logic for the non-cx16 case.

Suggested-by: Andrew Cooper 
Signed-off-by: Teddy Astie 
---
 xen/drivers/passthrough/vtd/iommu.c | 73 ++---
 1 file changed, 25 insertions(+), 48 deletions(-)

diff --git a/xen/drivers/passthrough/vtd/iommu.c 
b/xen/drivers/passthrough/vtd/iommu.c
index c7110af7c9..9c787ba9eb 100644
--- a/xen/drivers/passthrough/vtd/iommu.c
+++ b/xen/drivers/passthrough/vtd/iommu.c
@@ -1482,7 +1482,7 @@ int domain_context_mapping_one(
 {
 struct domain_iommu *hd = dom_iommu(domain);
 struct context_entry *context, *context_entries, lctxt;
-__uint128_t old;
+__uint128_t res, old;
 uint64_t maddr;
 uint16_t seg = iommu->drhd->segment, prev_did = 0;
 struct domain *prev_dom = NULL;
@@ -1580,55 +1580,23 @@ int domain_context_mapping_one(
 ASSERT(!context_fault_disable(lctxt));
 }
 
-if ( cpu_has_cx16 )
-{
-__uint128_t res = cmpxchg16b(context, , );
-
-/*
- * Hardware does not update the context entry behind our backs,
- * so the return value should match "old".
- */
-if ( res != old )
-{
-if ( pdev )
-check_cleanup_domid_map(domain, pdev, iommu);
-printk(XENLOG_ERR
-   "%pp: unexpected context entry %016lx_%016lx (expected 
%016lx_%016lx)\n",
-   _SBDF(seg, bus, devfn),
-   (uint64_t)(res >> 64), (uint64_t)res,
-   (uint64_t)(old >> 64), (uint64_t)old);
-rc = -EILSEQ;
-goto unlock;
-}
-}
-else if ( !prev_dom || !(mode & MAP_WITH_RMRR) )
-{
-context_clear_present(*context);
-iommu_sync_cache(context, sizeof(*context));
+res = cmpxchg16b(context, , );
 
-write_atomic(>hi, lctxt.hi);
-/* No barrier should be needed between these two. */
-write_atomic(>lo, lctxt.lo);
-}
-else /* Best effort, updating DID last. */
+/*
+ * Hardware does not update the context entry behind our backs,
+ * so the return value should match "old".
+ */
+if ( res != old )
 {
- /*
-  * By non-atomically updating the context entry's DID field last,
-  * during a short window in time TLB entries with the old domain ID
-  * but the new page tables may be inserted.  This could affect I/O
-  * of other devices using this same (old) domain ID.  Such updating
-  * therefore is not a problem if this was the only device associated
-  * with the old domain ID.  Diverting I/O of any of a dying domain's
-  * devices to the quarantine page tables is intended anyway.
-  */
-if ( !(mode & (MAP_OWNER_DYING | MAP_SINGLE_DEVICE)) )
-printk(XENLOG_WARNING VTDPREFIX
-   " %pp: reassignment may cause %pd data corruption\n",
-   _SBDF(seg, bus, devfn), prev_dom);
-
-write_atomic(>lo, lctxt.lo);
-/* No barrier should be needed between these two. */
-write_atomic(>hi, lctxt.hi);
+if ( pdev )
+check_cleanup_domid_map(domain, pdev, iommu);
+printk(XENLOG_ERR
+"%pp: unexpected context entry %016lx_%016lx (expected 
%016lx_%016lx)\n",
+_SBDF(seg, bus, devfn),
+(uint64_t)(res >> 64), (uint64_t)res,
+(uint64_t)(old >> 64), (uint64_t)old);
+rc = -EILSEQ;
+goto unlock;
 }
 
 iommu_sync_cache(context, sizeof(struct context_entry));
@@ -2630,6 +2598,15 @@ static int __init cf_check vtd_setup(void)
 int ret;
 bool reg_inval_supported = true;
 
+if ( unlikely(!cpu_has_cx16) )
+{
+printk(XENLOG_ERR VTDPREFIX
+   "IOMMU: CPU doesn't support CMPXCHG16B, disabling\n");
+
+ret = -ENODEV;
+goto error;
+}
+
 if ( list_empty(_drhd_units) )
 {
 ret = -ENODEV;
-- 
2.44.0



Teddy Astie | Vates XCP-ng Intern

XCP-ng & Xen Orchestra - Vates solutions

web: https://vates.tech



[XEN PATCH v4 3/5] VT-d: Cleanup MAP_SINGLE_DEVICE and related code

2024-04-15 Thread Teddy Astie
This flag was only used in case cx16 is not available, as those code paths no
longer exist, this flag now does basically nothing.

Signed-off-by: Teddy Astie 
---
 xen/drivers/passthrough/vtd/iommu.c | 12 +++-
 xen/drivers/passthrough/vtd/vtd.h   |  5 ++---
 2 files changed, 5 insertions(+), 12 deletions(-)

diff --git a/xen/drivers/passthrough/vtd/iommu.c 
b/xen/drivers/passthrough/vtd/iommu.c
index 9c787ba9eb..7c6bae0256 100644
--- a/xen/drivers/passthrough/vtd/iommu.c
+++ b/xen/drivers/passthrough/vtd/iommu.c
@@ -1692,15 +1692,9 @@ static int domain_context_mapping(struct domain *domain, 
u8 devfn,
 break;
 }
 
-if ( domain != pdev->domain && pdev->domain != dom_io )
-{
-if ( pdev->domain->is_dying )
-mode |= MAP_OWNER_DYING;
-else if ( drhd &&
-  !any_pdev_behind_iommu(pdev->domain, pdev, drhd->iommu) &&
-  !pdev->phantom_stride )
-mode |= MAP_SINGLE_DEVICE;
-}
+if ( domain != pdev->domain && pdev->domain != dom_io &&
+ pdev->domain->is_dying )
+mode |= MAP_OWNER_DYING;
 
 switch ( pdev->type )
 {
diff --git a/xen/drivers/passthrough/vtd/vtd.h 
b/xen/drivers/passthrough/vtd/vtd.h
index cb2df76eed..43f06a353d 100644
--- a/xen/drivers/passthrough/vtd/vtd.h
+++ b/xen/drivers/passthrough/vtd/vtd.h
@@ -28,9 +28,8 @@
  */
 #define MAP_WITH_RMRR (1u << 0)
 #define MAP_OWNER_DYING   (1u << 1)
-#define MAP_SINGLE_DEVICE (1u << 2)
-#define MAP_ERROR_RECOVERY(1u << 3)
-#define UNMAP_ME_PHANTOM_FUNC (1u << 4)
+#define MAP_ERROR_RECOVERY(1u << 2)
+#define UNMAP_ME_PHANTOM_FUNC (1u << 3)
 
 /* Allow for both IOAPIC and IOSAPIC. */
 #define IO_xAPIC_route_entry IO_APIC_route_entry
-- 
2.44.0



Teddy Astie | Vates XCP-ng Intern

XCP-ng & Xen Orchestra - Vates solutions

web: https://vates.tech



[XEN PATCH v4 5/5] AMD-Vi: Disable intrerrupt remapping if cx16 is not supported

2024-04-15 Thread Teddy Astie
All hardware with AMD-Vi has CMPXCHG16 support.  Check this at initialisation
time, and remove the effectively-dead logic for the non-cx16 case.

Suggested-by: Andrew Cooper 
Signed-off-by: Teddy Astie 
---
 xen/drivers/passthrough/amd/iommu_intr.c | 6 ++
 1 file changed, 6 insertions(+)

diff --git a/xen/drivers/passthrough/amd/iommu_intr.c 
b/xen/drivers/passthrough/amd/iommu_intr.c
index 7fc796dec2..9ab7c68749 100644
--- a/xen/drivers/passthrough/amd/iommu_intr.c
+++ b/xen/drivers/passthrough/amd/iommu_intr.c
@@ -649,6 +649,12 @@ bool __init cf_check iov_supports_xt(void)
 if ( !iommu_enable || !iommu_intremap )
 return false;
 
+if ( unlikely(!cpu_has_cx16) )
+{
+AMD_IOMMU_WARN("CPU doesn't support CMPXCHG16B, disable interrupt 
remapping\n");
+return false;
+}
+
 if ( amd_iommu_prepare(true) )
 return false;
 
-- 
2.44.0



Teddy Astie | Vates XCP-ng Intern

XCP-ng & Xen Orchestra - Vates solutions

web: https://vates.tech



[XEN PATCH v4 0/5] x86/iommu: Drop IOMMU support when cx16 isn't supported

2024-04-15 Thread Teddy Astie
All hardware that supports VT-d/AMD-Vi that exists also supports cx16 (aside
specifically crafted virtual machines).

Some IOMMU code paths in Xen consider cases where VT-d/AMD-Vi is supported
while cx16 isn't, those paths may be bugged and are barely tested, dead code
in practice.

Disable IOMMU in case we have IOMMU hardware but no cx16, then cleanup
no-cx16 handling logic from VT-d and AMD-Vi drivers. Also disable
interrupt remapping that also relies on cx16.

Teddy Astie (5):
  VT-d: Disable IOMMU if cx16 isn't supported
  AMD-Vi: Disable IOMMU if cx16 isn't supported
  VT-d: Cleanup MAP_SINGLE_DEVICE and related code
  VT-d: Disable intrerrupt remapping if cx16 is not supported
  AMD-Vi: Disable intrerrupt remapping if cx16 is not supported

 xen/drivers/passthrough/amd/iommu_intr.c|  6 ++
 xen/drivers/passthrough/amd/iommu_map.c | 42 --
 xen/drivers/passthrough/amd/pci_amd_iommu.c |  6 ++
 xen/drivers/passthrough/vtd/intremap.c  | 70 +---
 xen/drivers/passthrough/vtd/iommu.c | 92 +++--
 xen/drivers/passthrough/vtd/vtd.h   |  5 +-
 6 files changed, 77 insertions(+), 144 deletions(-)

-- 
2.44.0



Teddy Astie | Vates XCP-ng Intern

XCP-ng & Xen Orchestra - Vates solutions

web: https://vates.tech



[XEN PATCH v4 4/5] VT-d: Disable intrerrupt remapping if cx16 is not supported

2024-04-15 Thread Teddy Astie
All hardware with VT-d has CMPXCHG16B support.  Check this at initialisation
time, and remove the effectively-dead logic for the non-cx16 case.

Suggested-by: Andrew Cooper 
Signed-off-by: Teddy Astie 
---
 xen/drivers/passthrough/vtd/intremap.c | 70 --
 xen/drivers/passthrough/vtd/iommu.c|  7 +--
 2 files changed, 21 insertions(+), 56 deletions(-)

diff --git a/xen/drivers/passthrough/vtd/intremap.c 
b/xen/drivers/passthrough/vtd/intremap.c
index c504852eb8..7d4d907b4f 100644
--- a/xen/drivers/passthrough/vtd/intremap.c
+++ b/xen/drivers/passthrough/vtd/intremap.c
@@ -150,6 +150,13 @@ bool __init cf_check intel_iommu_supports_eim(void)
 if ( !iommu_qinval || !iommu_intremap || list_empty(_drhd_units) )
 return false;
 
+if ( unlikely(!cpu_has_cx16) )
+{
+printk(XENLOG_WARNING VTDPREFIX
+   "CPU doesn't support CMPXCHG16B, disable interrupt 
remapping\n");
+return false;
+}
+
 /* We MUST have a DRHD unit for each IOAPIC. */
 for ( apic = 0; apic < nr_ioapics; apic++ )
 if ( !ioapic_to_drhd(IO_APIC_ID(apic)) )
@@ -173,47 +180,26 @@ bool __init cf_check intel_iommu_supports_eim(void)
  * Assume iremap_lock has been acquired. It is to make sure software will not
  * change the same IRTE behind us. With this assumption, if only high qword or
  * low qword in IRTE is to be updated, this function's atomic variant can
- * present an atomic update to VT-d hardware even when cmpxchg16b
- * instruction is not supported.
+ * present an atomic update to VT-d hardware.
  */
 static void update_irte(struct vtd_iommu *iommu, struct iremap_entry *entry,
 const struct iremap_entry *new_ire, bool atomic)
 {
-ASSERT(spin_is_locked(>intremap.lock));
+__uint128_t ret;
+struct iremap_entry old_ire;
 
-if ( cpu_has_cx16 )
-{
-__uint128_t ret;
-struct iremap_entry old_ire;
+ASSERT(spin_is_locked(>intremap.lock));
 
-old_ire = *entry;
-ret = cmpxchg16b(entry, _ire, new_ire);
+old_ire = *entry;
+ret = cmpxchg16b(entry, _ire, new_ire);
 
-/*
- * In the above, we use cmpxchg16 to atomically update the 128-bit
- * IRTE, and the hardware cannot update the IRTE behind us, so
- * the return value of cmpxchg16 should be the same as old_ire.
- * This ASSERT validate it.
- */
-ASSERT(ret == old_ire.val);
-}
-else
-{
-/*
- * VT-d hardware doesn't update IRTEs behind us, nor the software
- * since we hold iremap_lock. If the caller wants VT-d hardware to
- * always see a consistent entry, but we can't meet it, a bug will
- * be raised.
- */
-if ( entry->lo == new_ire->lo )
-write_atomic(>hi, new_ire->hi);
-else if ( entry->hi == new_ire->hi )
-write_atomic(>lo, new_ire->lo);
-else if ( !atomic )
-*entry = *new_ire;
-else
-BUG();
-}
+/*
+ * In the above, we use cmpxchg16 to atomically update the 128-bit
+ * IRTE, and the hardware cannot update the IRTE behind us, so
+ * the return value of cmpxchg16 should be the same as old_ire.
+ * This ASSERT validate it.
+ */
+ASSERT(ret == old_ire.val);
 }
 
 /* Mark specified intr remap entry as free */
@@ -395,7 +381,6 @@ static int ioapic_rte_to_remap_entry(struct vtd_iommu 
*iommu,
 /* Indicate remap format. */
 remap_rte->format = 1;
 
-/* If cmpxchg16b is not available the caller must mask the IO-APIC pin. */
 update_irte(iommu, iremap_entry, _ire, !init && !masked);
 iommu_sync_cache(iremap_entry, sizeof(*iremap_entry));
 iommu_flush_iec_index(iommu, 0, index);
@@ -437,21 +422,6 @@ void cf_check io_apic_write_remap_rte(
 bool masked = true;
 int rc;
 
-if ( !cpu_has_cx16 )
-{
-   /*
-* Cannot atomically update the IRTE entry: mask the IO-APIC pin to
-* avoid interrupts seeing an inconsistent IRTE entry.
-*/
-old_rte = __ioapic_read_entry(apic, pin, true);
-if ( !old_rte.mask )
-{
-masked = false;
-old_rte.mask = 1;
-__ioapic_write_entry(apic, pin, true, old_rte);
-}
-}
-
 /* Not the initializer, for old gcc to cope. */
 new_rte.raw = rte;
 
diff --git a/xen/drivers/passthrough/vtd/iommu.c 
b/xen/drivers/passthrough/vtd/iommu.c
index 7c6bae0256..a1bd3c5ff6 100644
--- a/xen/drivers/passthrough/vtd/iommu.c
+++ b/xen/drivers/passthrough/vtd/iommu.c
@@ -2663,12 +2663,7 @@ static int __init cf_check vtd_setup(void)
 iommu_intremap = iommu_intremap_off;
 
 #ifndef iommu_intpost
-/*
- * We cannot use posted interrupt if X86_FEATURE_CX16 is
- * not supported, since we count on this feature to
- * atomically update 16-byte IRTE in posted format.
- */
-if ( !cap_intr_post(iommu->cap) || 

Re: [PATCH v4 1/3] xen/arm: Add imx8q{m,x} platform glue

2024-04-15 Thread Julien Grall

Hi John,

On 15/04/2024 12:17, John Ernberg wrote:

Hi Julien,

On 4/15/24 1:03 PM, Julien Grall wrote:



On 15/04/2024 11:50, Andrew Cooper wrote:

On 15/04/2024 11:25 am, Julien Grall wrote:

Hi John,

I saw this patch was committed. I have one question this may require
some adjustment.

On 08/04/2024 17:11, John Ernberg wrote:

---
    xen/arch/arm/platforms/Makefile |   1 +
    xen/arch/arm/platforms/imx8qm.c | 139

    2 files changed, 140 insertions(+)
    create mode 100644 xen/arch/arm/platforms/imx8qm.c

diff --git a/xen/arch/arm/platforms/Makefile
b/xen/arch/arm/platforms/Makefile
index 8632f4115f..bec6e55d1f 100644
--- a/xen/arch/arm/platforms/Makefile
+++ b/xen/arch/arm/platforms/Makefile
@@ -9,5 +9,6 @@ obj-$(CONFIG_ALL_PLAT)   += sunxi.o
    obj-$(CONFIG_ALL64_PLAT) += thunderx.o
    obj-$(CONFIG_ALL64_PLAT) += xgene-storm.o
    obj-$(CONFIG_ALL64_PLAT) += brcm-raspberry-pi.o
+obj-$(CONFIG_ALL64_PLAT) += imx8qm.o
    obj-$(CONFIG_MPSOC_PLATFORM)  += xilinx-zynqmp.o
    obj-$(CONFIG_MPSOC_PLATFORM)  += xilinx-zynqmp-eemi.o
diff --git a/xen/arch/arm/platforms/imx8qm.c
b/xen/arch/arm/platforms/imx8qm.c
new file mode 100644
index 00..3600a073e8
--- /dev/null
+++ b/xen/arch/arm/platforms/imx8qm.c
@@ -0,0 +1,139 @@
+/* SPDX-License-Identifier: GPL-2.0-or-later */


The majority of Xen code is using GPL-2.0-only. In the early days for
Xen on Arm we started to use GPLv2+ which I consider it was a mistake.
Unfortunately this started to spread as people copied/pasted the same
copyright headers.

So can you confirm whether you intended to use GPL-2.0+? If not would
you be able to send a patch to adjust it? (Better to it before there
are more modifications).


Julien: I've called you out multiple times before.


And there are multiple thread explaining why I am requesting if we can
use GPLv2-only. In fact from CONTRIBUTING:

The recommended license of a directory will depend on the COPYING file.
If the new file is using a different license, this should be highlighted
and discussed in the commit message or cover letter introducing the
file.



Since part of the code was not written by me, but by Peng, I think both
of us need to agree to a license change if one is to be made.


Ah I didn't realize that Peng also contributed. Let's wait if he is 
happy with the change.


Also, offline, I was pointed out that I could explain a little bit more 
why I asked if this could be changed. From [1]:


"IIRC from past discussion there are two broads concern with GPLv2+:
   - We are leaving the choice of which license applies to the person
copying the code. So if a new version is released that is less favorable
to the initial contributor, then we have no leverage.
   - Some companies are rather cautious to contribute code that may be
licensed under GPLv3 (would be allowed with GPLv2+).

The later is particularly a problem because not many people realize that
a fair part of Xen on Arm is GPLv2+. I never really understood why we
chose that (this was before my time) but this got spread as the existing
copyright was added to a new file. Admittely, the contributor should be
more cautious. But I would not say this is trivial to spot the difference."

Cheers,

[1] 
https://lore.kernel.org/xen-devel/f235f6f8-d585-4e24-7fc8-3f2df9240...@xen.org/


--
Julien Grall



Re: [PATCH 1/2] swiotlb: Remove alloc_size argument to swiotlb_tbl_map_single()

2024-04-15 Thread Petr Tesařík
On Sun,  7 Apr 2024 21:11:41 -0700
mhkelle...@gmail.com wrote:

> From: Michael Kelley 
> 
> Currently swiotlb_tbl_map_single() takes alloc_align_mask and
> alloc_size arguments to specify an swiotlb allocation that is
> larger than mapping_size. This larger allocation is used solely
> by iommu_dma_map_single() to handle untrusted devices that should
> not have DMA visibility to memory pages that are partially used
> for unrelated kernel data.
> 
> Having two arguments to specify the allocation is redundant. While
> alloc_align_mask naturally specifies the alignment of the starting
> address of the allocation, it can also implicitly specify the size
> by rounding up the mapping_size to that alignment.
> 
> Additionally, the current approach has an edge case bug.
> iommu_dma_map_page() already does the rounding up to compute the
> alloc_size argument. But swiotlb_tbl_map_single() then calculates
> the alignment offset based on the DMA min_align_mask, and adds
> that offset to alloc_size. If the offset is non-zero, the addition
> may result in a value that is larger than the max the swiotlb can
> allocate. If the rounding up is done _after_ the alignment offset is
> added to the mapping_size (and the original mapping_size conforms to
> the value returned by swiotlb_max_mapping_size), then the max that the
> swiotlb can allocate will not be exceeded.
> 
> In view of these issues, simplify the swiotlb_tbl_map_single() interface
> by removing the alloc_size argument. Most call sites pass the same
> value for mapping_size and alloc_size, and they pass alloc_align_mask
> as zero. Just remove the redundant argument from these callers, as they
> will see no functional change. For iommu_dma_map_page() also remove
> the alloc_size argument, and have swiotlb_tbl_map_single() compute
> the alloc_size by rounding up mapping_size after adding the offset
> based on min_align_mask. This has the side effect of fixing the
> edge case bug but with no other functional change.
> 
> Also add a sanity test on the alloc_align_mask. While IOMMU code
> currently ensures the granule is not larger than PAGE_SIZE, if
> that guarantee were to be removed in the future, the downstream
> effect on the swiotlb might go unnoticed until strange allocation
> failures occurred.
> 
> Tested on an ARM64 system with 16K page size and some kernel
> test-only hackery to allow modifying the DMA min_align_mask and
> the granule size that becomes the alloc_align_mask. Tested these
> combinations with a variety of original memory addresses and
> sizes, including those that reproduce the edge case bug:
> 
> * 4K granule and 0 min_align_mask
> * 4K granule and 0xFFF min_align_mask (4K - 1)
> * 16K granule and 0xFFF min_align_mask
> * 64K granule and 0xFFF min_align_mask
> * 64K granule and 0x3FFF min_align_mask (16K - 1)
> 
> With the changes, all combinations pass.
> 
> Signed-off-by: Michael Kelley 
> ---
> I've haven't used any "Fixes:" tags. This patch really should be
> backported only if all the other recent swiotlb fixes get backported,
> and I'm unclear on whether that will happen.
> 
> I saw the brief discussion about removing the "dir" parameter from
> swiotlb_tbl_map_single(). That removal could easily be done as part
> of this patch, since it's already changing the swiotlb_tbl_map_single()
> parameters. But I think the conclusion of the discussion was to leave
> the "dir" parameter for symmetry with the swiotlb_sync_*() functions.
> Please correct me if that's wrong, and I'll respin this patch to do
> the removal.

Hi Michael,

sorry for taking so long to answer. Yes, there was no agreement on the
removal of the "dir" parameter, but I'm not sure it's because of
symmetry with swiotlb_sync_*(), because the topic was not really
discussed.

The discussion was about the KUnit test suite and whether direction is
a property of the bounce buffer or of each sync operation. Since DMA API
defines associates each DMA buffer with a direction, the direction
parameter passed to swiotlb_sync_*() should match what was passed to
swiotlb_tbl_map_single(), because that's how it is used by the generic
DMA code. In other words, if the parameter is kept, it should be kept
to match dma_map_*().

However, there is also symmetry with swiotlb_tbl_unmap_single(). This
function does use the parameter for the final sync. I believe there
should be a matching initial sync in swiotlb_tbl_map_single(). In
short, the buffer sync for DMA non-coherent devices should be moved from
swiotlb_map() to swiotlb_tbl_map_single(). If this sync is not needed,
then the caller can (and should) include DMA_ATTR_SKIP_CPU_SYNC in
the flags parameter.

To sum it up:

* Do *NOT* remove the "dir" parameter.
* Let me send a patch which moves the initial buffer sync.

Petr T

>  drivers/iommu/dma-iommu.c |  2 +-
>  drivers/xen/swiotlb-xen.c |  2 +-
>  include/linux/swiotlb.h   |  2 +-
>  kernel/dma/swiotlb.c  | 56
> +-- 4 files changed, 45
> insertions(+), 17 

[linux-5.4 test] 185577: regressions - trouble: blocked/broken/queued/running

2024-04-15 Thread osstest service owner
flight 185577 linux-5.4 running [real]
http://logs.test-lab.xenproject.org/osstest/logs/185577/

Regressions :-(

Tests which did not succeed and are blocking,
including tests which could not be run:
 build-amd64  broken
 build-amd64-pvopsbroken
 build-amd64-xsm  broken
 build-arm64  broken
 build-arm64-xsm  broken
 build-armhf  broken
 build-armhf-pvopsbroken
 build-i386   broken
 build-i386-pvops broken
 build-i386-xsm   broken
 build-i3865 host-build-prep  fail REGR. vs. 185168
 build-armhf-pvops 5 host-build-prep  fail REGR. vs. 185168
 build-amd64-pvops 5 host-build-prep  fail REGR. vs. 185168
 build-amd64-xsm   5 host-build-prep  fail REGR. vs. 185168
 build-amd64   5 host-build-prep  fail REGR. vs. 185168
 build-i386-pvops  5 host-build-prep  fail REGR. vs. 185168
 build-i386-xsm5 host-build-prep  fail REGR. vs. 185168
 build-arm64   5 host-build-prep  fail REGR. vs. 185168
 build-arm64-xsm   5 host-build-prep  fail REGR. vs. 185168
 build-armhf   5 host-build-prep  fail REGR. vs. 185168
 test-arm64-arm64-examine  queued
 test-arm64-arm64-libvirt-raw  queued
 test-arm64-arm64-libvirt-xsm  queued
 test-arm64-arm64-xl   queued
 test-arm64-arm64-xl-credit1   queued
 test-arm64-arm64-xl-credit2   queued
 test-arm64-arm64-xl-thunderx  queued
 test-arm64-arm64-xl-vhd   queued
 test-arm64-arm64-xl-xsm   queued
 build-arm64-pvops 5 host-build-prep  running
 build-arm64-pvops 3 syslog-serverrunning

Tests which did not succeed, but are not blocking:
 test-amd64-i386-xl-qemuu-win7-amd64  1 build-check(1)  blocked n/a
 test-amd64-i386-xl-qemuu-ws16-amd64  1 build-check(1)  blocked n/a
 test-amd64-coresched-i386-xl  1 build-check(1)   blocked  n/a
 test-amd64-coresched-amd64-xl  1 build-check(1)   blocked  n/a
 test-amd64-amd64-xl-xsm   1 build-check(1)   blocked  n/a
 test-amd64-amd64-xl-shadow1 build-check(1)   blocked  n/a
 test-amd64-amd64-xl-rtds  1 build-check(1)   blocked  n/a
 test-amd64-amd64-xl-raw   1 build-check(1)   blocked  n/a
 test-amd64-amd64-xl-qemuu-ws16-amd64  1 build-check(1) blocked n/a
 test-amd64-amd64-xl-qemuu-win7-amd64  1 build-check(1) blocked n/a
 test-amd64-amd64-xl-qemuu-ovmf-amd64  1 build-check(1) blocked n/a
 test-amd64-amd64-xl-qemuu-dmrestrict-amd64-dmrestrict 1 build-check(1) blocked 
n/a
 test-amd64-amd64-xl-qemuu-debianhvm-i386-xsm  1 build-check(1) blocked n/a
 test-amd64-amd64-xl-qemuu-debianhvm-amd64-shadow  1 build-check(1) blocked n/a
 build-amd64-libvirt   1 build-check(1)   blocked  n/a
 test-amd64-amd64-xl-qemuu-debianhvm-amd64  1 build-check(1)blocked n/a
 test-amd64-amd64-xl-qemut-ws16-amd64  1 build-check(1) blocked n/a
 build-arm64-libvirt   1 build-check(1)   blocked  n/a
 test-amd64-amd64-xl-qemut-win7-amd64  1 build-check(1) blocked n/a
 test-amd64-amd64-xl-qemut-stubdom-debianhvm-amd64-xsm 1 build-check(1) blocked 
n/a
 test-amd64-amd64-xl-qemut-debianhvm-i386-xsm  1 build-check(1) blocked n/a
 build-armhf-libvirt   1 build-check(1)   blocked  n/a
 test-amd64-amd64-xl-qemut-debianhvm-amd64  1 build-check(1)blocked n/a
 build-i386-libvirt1 build-check(1)   blocked  n/a
 test-amd64-amd64-xl-qcow2 1 build-check(1)   blocked  n/a
 test-amd64-amd64-dom0pvh-xl-amd  1 build-check(1)   blocked  n/a
 test-amd64-amd64-xl-pvshim1 build-check(1)   blocked  n/a
 test-amd64-amd64-dom0pvh-xl-intel  1 build-check(1)   blocked  n/a
 test-amd64-amd64-xl-pvhv2-intel  1 build-check(1)   blocked  n/a
 test-amd64-amd64-examine  1 build-check(1)   blocked  n/a
 test-amd64-amd64-examine-bios  1 build-check(1)   blocked  n/a
 test-amd64-amd64-examine-uefi  1 build-check(1)   blocked  n/a
 test-amd64-amd64-xl-pvhv2-amd  1 build-check(1)   blocked  n/a
 test-amd64-amd64-libvirt  1 build-check(1)   blocked  n/a
 test-amd64-amd64-libvirt-pair  1 build-check(1)   blocked  n/a
 

Re: [PATCH v2 1/4] docs: add xen_ulong_t to the documented integers sizes/alignments

2024-04-15 Thread Bertrand Marquis
Hi Julien,

> On 15 Apr 2024, at 12:08, Julien Grall  wrote:
> 
> Hi Bertrand,
> 
> On 15/04/2024 08:48, Bertrand Marquis wrote:
>> Hi Julien,
>>> On 12 Apr 2024, at 19:01, Julien Grall  wrote:
>>> 
>>> 
>>> 
>>> On Fri, 12 Apr 2024 at 11:30, Bertrand Marquis  
>>> wrote:
>>> Hi Julien,
>>> 
 On 12 Apr 2024, at 15:53, Julien Grall  wrote:
 
 
 
 On Thu, 11 Apr 2024 at 18:08, Stefano Stabellini  
 wrote:
 On Wed, 10 Apr 2024, Julien Grall wrote:
> On Wed, 10 Apr 2024 at 19:47, Stefano Stabellini 
>  wrote:
>   xen_ulong_t is widely used in public headers.
> 
>   Signed-off-by: Stefano Stabellini 
>   ---
> 
>   Given that xen_ulong_t is used in public headers there could be a 
> better
>   place for documenting it but this was the most straightforward to 
> add.
>   ---
>docs/misra/C-language-toolchain.rst | 11 +++
>1 file changed, 11 insertions(+)
> 
>   diff --git a/docs/misra/C-language-toolchain.rst 
> b/docs/misra/C-language-toolchain.rst
>   index 5ddfe7bdbe..7a334260e6 100644
>   --- a/docs/misra/C-language-toolchain.rst
>   +++ b/docs/misra/C-language-toolchain.rst
>   @@ -531,6 +531,17 @@ A summary table of data types, sizes and 
> alignment is below:
> - 64 bits
> - x86_64, ARMv8-A AArch64, RV64, PPC64
> 
>   +   * - xen_ulong_t
>   + - 32 bits
>   + - 32 bits
>   + - x86_32
>   +
>   +   * - xen_ulong_t
>   + - 64 bits
>   + - 64 bits
>   + - x86_64, ARMv8-A AArch64, RV64, PPC64, ARMv8-A AArch32, 
> ARMv8-R
>   +   AArch32, ARMv7-A
> 
> 
> We support neither ARMv8-R nor ARMv8-A Aarch32.
> 
> I could possibly accept the latter because it works to. But the former is 
> so far misleading.
 
 Yes I think you are right. Moreover this document
 (C-language-toolchain.rst) is meant for the Xen build. While this patch
 is trying to document the types used in the public headers for the
 external-facing ABI.
 
 I'll move the information this patch is adding to a separate document,
 specific to the public headers. I will only add the architectures
 currently working: I'll add ARMv8-A Aarch32 because although it is
 unsupported it is interesting to know the size of xen_ulong_t for
 aarch32 in the public headers. I will remove ARMv8-R as it is not
 available upstream.
 
 Thinking a bit more. What about Armv9? Rather than listing each version, 
 should we instead use ARMv7-A aarch32 and later, ARMv8-A aarch64 and later?
>>> 
>>> Definitely you are right here but as for Armv8-R, Armv9 is not something 
>>> that we explicitely support right now (even though it should work).
>>> 
>>> I am confused with the comparison. I thought you can’t boot Xen at all on 
>>> Armv8-R. But you can on Armv9-A as this just Armv8-A + features the 
>>> software don’t need to use.
>>> 
>>> Did you intend to draw the comparison with Armv8-A Aarch32?
>> Yes in my mind armv9 even if currently working it is not something 
>> officially supported so it is in the same state as armv8 aarch32.
> 
> AFAICT, Stefano said he will add ARMv8-A AArch32, so we should be consistent 
> and add Armv9-A in the list.

Yes that makes sense, I agree.

Cheers
Bertrand

> 
> Cheers,
> 
> -- 
> Julien Grall




[linux-linus test] 185582: regressions - trouble: blocked/broken/preparing/queued

2024-04-15 Thread osstest service owner
flight 185582 linux-linus running [real]
http://logs.test-lab.xenproject.org/osstest/logs/185582/

Regressions :-(

Tests which did not succeed and are blocking,
including tests which could not be run:
 build-amd64  broken
 build-amd64-pvopsbroken
 build-amd64-xsm  broken
 build-armhf  broken
 build-armhf-pvopsbroken
 build-i386   broken
 build-i386-pvops broken
 build-i386-xsm   broken
 build-amd64-xsm   5 host-build-prep  fail REGR. vs. 185347
 build-i3865 host-build-prep  fail REGR. vs. 185347
 build-amd64   5 host-build-prep  fail REGR. vs. 185347
 build-armhf-pvops 5 host-build-prep  fail REGR. vs. 185347
 build-amd64-pvops 5 host-build-prep  fail REGR. vs. 185347
 build-i386-pvops  5 host-build-prep  fail REGR. vs. 185347
 build-i386-xsm5 host-build-prep  fail REGR. vs. 185347
 build-armhf   5 host-build-prep  fail REGR. vs. 185347
 build-arm64-libvirt   queued
 test-arm64-arm64-examine  queued
 test-arm64-arm64-libvirt-raw  queued
 test-arm64-arm64-libvirt-xsm  queued
 test-arm64-arm64-xl   queued
 test-arm64-arm64-xl-credit1   queued
 test-arm64-arm64-xl-credit2   queued
 test-arm64-arm64-xl-thunderx  queued
 test-arm64-arm64-xl-vhd   queued
 test-arm64-arm64-xl-xsm   queued
 build-arm64-pvops 2 hosts-allocate   running
 build-arm64-xsm   2 hosts-allocate   running
 build-arm64   2 hosts-allocate   running

Tests which did not succeed, but are not blocking:
 test-amd64-amd64-xl-vhd   1 build-check(1)   blocked  n/a
 test-amd64-amd64-xl-shadow1 build-check(1)   blocked  n/a
 test-amd64-amd64-xl-rtds  1 build-check(1)   blocked  n/a
 test-amd64-amd64-xl-raw   1 build-check(1)   blocked  n/a
 test-amd64-amd64-xl-qemuu-ws16-amd64  1 build-check(1) blocked n/a
 test-amd64-amd64-xl-qemuu-win7-amd64  1 build-check(1) blocked n/a
 test-amd64-amd64-xl-qemuu-ovmf-amd64  1 build-check(1) blocked n/a
 test-amd64-amd64-xl-qemuu-dmrestrict-amd64-dmrestrict 1 build-check(1) blocked 
n/a
 test-amd64-amd64-xl-qemuu-debianhvm-i386-xsm  1 build-check(1) blocked n/a
 test-amd64-amd64-xl-qemuu-debianhvm-amd64-shadow  1 build-check(1) blocked n/a
 test-amd64-amd64-xl-qemuu-debianhvm-amd64  1 build-check(1)blocked n/a
 test-amd64-amd64-xl-qemut-ws16-amd64  1 build-check(1) blocked n/a
 build-amd64-libvirt   1 build-check(1)   blocked  n/a
 test-amd64-amd64-xl-qemut-win7-amd64  1 build-check(1) blocked n/a
 test-amd64-amd64-xl-qemut-stubdom-debianhvm-amd64-xsm 1 build-check(1) blocked 
n/a
 test-amd64-amd64-xl-qemut-debianhvm-i386-xsm  1 build-check(1) blocked n/a
 test-amd64-amd64-xl-qemut-debianhvm-amd64  1 build-check(1)blocked n/a
 test-amd64-amd64-xl-qcow2 1 build-check(1)   blocked  n/a
 build-armhf-libvirt   1 build-check(1)   blocked  n/a
 test-amd64-amd64-xl-pvshim1 build-check(1)   blocked  n/a
 build-i386-libvirt1 build-check(1)   blocked  n/a
 test-amd64-amd64-xl-pvhv2-intel  1 build-check(1)   blocked  n/a
 test-amd64-amd64-dom0pvh-xl-amd  1 build-check(1)   blocked  n/a
 test-amd64-amd64-xl-pvhv2-amd  1 build-check(1)   blocked  n/a
 test-amd64-amd64-dom0pvh-xl-intel  1 build-check(1)   blocked  n/a
 test-amd64-amd64-xl-multivcpu  1 build-check(1)   blocked  n/a
 test-amd64-amd64-examine  1 build-check(1)   blocked  n/a
 test-amd64-amd64-examine-bios  1 build-check(1)   blocked  n/a
 test-amd64-amd64-examine-uefi  1 build-check(1)   blocked  n/a
 test-amd64-amd64-xl-credit2   1 build-check(1)   blocked  n/a
 test-amd64-amd64-libvirt  1 build-check(1)   blocked  n/a
 test-amd64-amd64-libvirt-pair  1 build-check(1)   blocked  n/a
 test-amd64-amd64-xl-credit1   1 build-check(1)   blocked  n/a
 test-amd64-amd64-libvirt-qcow2  1 build-check(1)   blocked  n/a
 test-amd64-amd64-libvirt-qemuu-debianhvm-amd64-xsm 1 build-check(1) blocked n/a
 test-amd64-amd64-xl   1 build-check(1)   blocked  n/a
 test-amd64-amd64-libvirt-raw  1 build-check(1)   blocked  n/a
 test-amd64-amd64-libvirt-vhd 

[xen-unstable test] 185585: regressions - trouble: blocked/broken/preparing/queued

2024-04-15 Thread osstest service owner
flight 185585 xen-unstable running [real]
http://logs.test-lab.xenproject.org/osstest/logs/185585/

Regressions :-(

Tests which did not succeed and are blocking,
including tests which could not be run:
 build-amd64  broken
 build-amd64-prev broken
 build-amd64-pvopsbroken
 build-amd64-xsm  broken
 build-amd64-xtf  broken
 build-armhf  broken
 build-armhf-pvopsbroken
 build-i386   broken
 build-i386-prev  broken
 build-i386-pvops broken
 build-i386-xsm   broken
 build-amd64-prev  5 host-build-prep  fail REGR. vs. 185281
 build-i386-prev   5 host-build-prep  fail REGR. vs. 185281
 build-amd64   5 host-build-prep  fail REGR. vs. 185281
 build-armhf-pvops 5 host-build-prep  fail REGR. vs. 185281
 build-amd64-xtf   5 host-build-prep  fail REGR. vs. 185281
 build-amd64-xsm   5 host-build-prep  fail REGR. vs. 185281
 build-i386-xsm5 host-build-prep  fail REGR. vs. 185281
 build-amd64-pvops 5 host-build-prep  fail REGR. vs. 185281
 build-i3865 host-build-prep  fail REGR. vs. 185281
 build-i386-pvops  5 host-build-prep  fail REGR. vs. 185281
 build-armhf   5 host-build-prep  fail REGR. vs. 185281
 build-arm64-libvirt   queued
 test-arm64-arm64-examine  queued
 test-arm64-arm64-libvirt-raw  queued
 test-arm64-arm64-libvirt-xsm  queued
 test-arm64-arm64-xl   queued
 test-arm64-arm64-xl-credit1   queued
 test-arm64-arm64-xl-credit2   queued
 test-arm64-arm64-xl-thunderx  queued
 test-arm64-arm64-xl-vhd   queued
 test-arm64-arm64-xl-xsm   queued
 build-arm64   2 hosts-allocate   running
 build-arm64-pvops 2 hosts-allocate   running
 build-arm64-xsm   2 hosts-allocate   running

Tests which did not succeed, but are not blocking:
 test-xtf-amd64-amd64-21 build-check(1)   blocked  n/a
 test-xtf-amd64-amd64-31 build-check(1)   blocked  n/a
 test-xtf-amd64-amd64-41 build-check(1)   blocked  n/a
 test-amd64-amd64-xl-qemuu-win7-amd64  1 build-check(1) blocked n/a
 test-amd64-amd64-xl-qemuu-ovmf-amd64  1 build-check(1) blocked n/a
 test-amd64-amd64-xl-qemuu-dmrestrict-amd64-dmrestrict 1 build-check(1) blocked 
n/a
 test-amd64-amd64-xl-qemuu-debianhvm-i386-xsm  1 build-check(1) blocked n/a
 test-amd64-amd64-xl-qemuu-debianhvm-amd64-shadow  1 build-check(1) blocked n/a
 test-amd64-amd64-xl-qemuu-debianhvm-amd64  1 build-check(1)blocked n/a
 test-amd64-amd64-xl-qemut-ws16-amd64  1 build-check(1) blocked n/a
 test-amd64-amd64-xl-qemut-win7-amd64  1 build-check(1) blocked n/a
 test-amd64-amd64-xl-qemut-stubdom-debianhvm-amd64-xsm 1 build-check(1) blocked 
n/a
 test-amd64-amd64-xl-qemut-debianhvm-i386-xsm  1 build-check(1) blocked n/a
 test-amd64-amd64-xl-qemut-debianhvm-amd64  1 build-check(1)blocked n/a
 test-amd64-amd64-xl-qcow2 1 build-check(1)   blocked  n/a
 build-amd64-libvirt   1 build-check(1)   blocked  n/a
 test-amd64-amd64-xl-pvshim1 build-check(1)   blocked  n/a
 test-amd64-amd64-xl-pvhv2-intel  1 build-check(1)   blocked  n/a
 test-amd64-amd64-xl-pvhv2-amd  1 build-check(1)   blocked  n/a
 test-amd64-amd64-xl-multivcpu  1 build-check(1)   blocked  n/a
 test-amd64-amd64-xl-credit2   1 build-check(1)   blocked  n/a
 build-armhf-libvirt   1 build-check(1)   blocked  n/a
 test-amd64-amd64-xl-credit1   1 build-check(1)   blocked  n/a
 test-amd64-amd64-xl   1 build-check(1)   blocked  n/a
 build-i386-libvirt1 build-check(1)   blocked  n/a
 test-amd64-amd64-qemuu-nested-intel  1 build-check(1)  blocked n/a
 test-amd64-amd64-qemuu-nested-amd  1 build-check(1)   blocked  n/a
 test-amd64-amd64-dom0pvh-xl-amd  1 build-check(1)   blocked  n/a
 test-amd64-amd64-dom0pvh-xl-intel  1 build-check(1)   blocked  n/a
 test-amd64-amd64-qemuu-freebsd12-amd64  1 build-check(1)   blocked n/a
 test-amd64-amd64-examine  1 build-check(1)   blocked  n/a
 test-amd64-amd64-examine-bios  1 build-check(1)   

Re: [PATCH v4 1/3] xen/arm: Add imx8q{m,x} platform glue

2024-04-15 Thread Kelly Choi
Hi everyone,

We all have a responsibility and pledge to make this community a welcoming
environment.
As such, I would like to request we keep the Code of Conduct and patch
discussions separate.
Should there be a need for any Code of Conduct complaints/investigations,
this will be treated separately.

Thank you John for your contributions.

Many thanks,
Kelly Choi

Community Manager
Xen Project


On Mon, Apr 15, 2024 at 12:03 PM Julien Grall  wrote:

>
>
> On 15/04/2024 11:50, Andrew Cooper wrote:
> > On 15/04/2024 11:25 am, Julien Grall wrote:
> >> Hi John,
> >>
> >> I saw this patch was committed. I have one question this may require
> >> some adjustment.
> >>
> >> On 08/04/2024 17:11, John Ernberg wrote:
> >>> ---
> >>>xen/arch/arm/platforms/Makefile |   1 +
> >>>xen/arch/arm/platforms/imx8qm.c | 139
> 
> >>>2 files changed, 140 insertions(+)
> >>>create mode 100644 xen/arch/arm/platforms/imx8qm.c
> >>>
> >>> diff --git a/xen/arch/arm/platforms/Makefile
> >>> b/xen/arch/arm/platforms/Makefile
> >>> index 8632f4115f..bec6e55d1f 100644
> >>> --- a/xen/arch/arm/platforms/Makefile
> >>> +++ b/xen/arch/arm/platforms/Makefile
> >>> @@ -9,5 +9,6 @@ obj-$(CONFIG_ALL_PLAT)   += sunxi.o
> >>>obj-$(CONFIG_ALL64_PLAT) += thunderx.o
> >>>obj-$(CONFIG_ALL64_PLAT) += xgene-storm.o
> >>>obj-$(CONFIG_ALL64_PLAT) += brcm-raspberry-pi.o
> >>> +obj-$(CONFIG_ALL64_PLAT) += imx8qm.o
> >>>obj-$(CONFIG_MPSOC_PLATFORM)  += xilinx-zynqmp.o
> >>>obj-$(CONFIG_MPSOC_PLATFORM)  += xilinx-zynqmp-eemi.o
> >>> diff --git a/xen/arch/arm/platforms/imx8qm.c
> >>> b/xen/arch/arm/platforms/imx8qm.c
> >>> new file mode 100644
> >>> index 00..3600a073e8
> >>> --- /dev/null
> >>> +++ b/xen/arch/arm/platforms/imx8qm.c
> >>> @@ -0,0 +1,139 @@
> >>> +/* SPDX-License-Identifier: GPL-2.0-or-later */
> >>
> >> The majority of Xen code is using GPL-2.0-only. In the early days for
> >> Xen on Arm we started to use GPLv2+ which I consider it was a mistake.
> >> Unfortunately this started to spread as people copied/pasted the same
> >> copyright headers.
> >>
> >> So can you confirm whether you intended to use GPL-2.0+? If not would
> >> you be able to send a patch to adjust it? (Better to it before there
> >> are more modifications).
> >
> > Julien: I've called you out multiple times before.
>
> And there are multiple thread explaining why I am requesting if we can
> use GPLv2-only. In fact from CONTRIBUTING:
>
> The recommended license of a directory will depend on the COPYING file.
> If the new file is using a different license, this should be highlighted
> and discussed in the commit message or cover letter introducing the
> file.
>
> > Don't ever bully contributors into changing licensing.  It is
> > unacceptable behaviour, and in most cases - including this one by the
> > looks of things - not legal.
>
> I don't think I have bullied the contributor. I have asked politely
> whether it can be done. There is nothing illegal (see above).
>
> The problematic behavior is you trying to pressure the other people to
> accept your point of view by been condescending or insulting them like
> you did here.
>
> I have reported this behavior several times to CoC. And I guess this
> need to happen again.
>
> Cheers,
>
> --
> Julien Grall
>


Re: [PATCH v4 1/3] xen/arm: Add imx8q{m,x} platform glue

2024-04-15 Thread John Ernberg
Hi Julien,

On 4/15/24 1:03 PM, Julien Grall wrote:
> 
> 
> On 15/04/2024 11:50, Andrew Cooper wrote:
>> On 15/04/2024 11:25 am, Julien Grall wrote:
>>> Hi John,
>>>
>>> I saw this patch was committed. I have one question this may require
>>> some adjustment.
>>>
>>> On 08/04/2024 17:11, John Ernberg wrote:
 ---
    xen/arch/arm/platforms/Makefile |   1 +
    xen/arch/arm/platforms/imx8qm.c | 139 
 
    2 files changed, 140 insertions(+)
    create mode 100644 xen/arch/arm/platforms/imx8qm.c

 diff --git a/xen/arch/arm/platforms/Makefile
 b/xen/arch/arm/platforms/Makefile
 index 8632f4115f..bec6e55d1f 100644
 --- a/xen/arch/arm/platforms/Makefile
 +++ b/xen/arch/arm/platforms/Makefile
 @@ -9,5 +9,6 @@ obj-$(CONFIG_ALL_PLAT)   += sunxi.o
    obj-$(CONFIG_ALL64_PLAT) += thunderx.o
    obj-$(CONFIG_ALL64_PLAT) += xgene-storm.o
    obj-$(CONFIG_ALL64_PLAT) += brcm-raspberry-pi.o
 +obj-$(CONFIG_ALL64_PLAT) += imx8qm.o
    obj-$(CONFIG_MPSOC_PLATFORM)  += xilinx-zynqmp.o
    obj-$(CONFIG_MPSOC_PLATFORM)  += xilinx-zynqmp-eemi.o
 diff --git a/xen/arch/arm/platforms/imx8qm.c
 b/xen/arch/arm/platforms/imx8qm.c
 new file mode 100644
 index 00..3600a073e8
 --- /dev/null
 +++ b/xen/arch/arm/platforms/imx8qm.c
 @@ -0,0 +1,139 @@
 +/* SPDX-License-Identifier: GPL-2.0-or-later */
>>>
>>> The majority of Xen code is using GPL-2.0-only. In the early days for
>>> Xen on Arm we started to use GPLv2+ which I consider it was a mistake.
>>> Unfortunately this started to spread as people copied/pasted the same
>>> copyright headers.
>>>
>>> So can you confirm whether you intended to use GPL-2.0+? If not would
>>> you be able to send a patch to adjust it? (Better to it before there
>>> are more modifications).
>>
>> Julien: I've called you out multiple times before.
> 
> And there are multiple thread explaining why I am requesting if we can 
> use GPLv2-only. In fact from CONTRIBUTING:
> 
> The recommended license of a directory will depend on the COPYING file.
> If the new file is using a different license, this should be highlighted
> and discussed in the commit message or cover letter introducing the
> file.
> 

Since part of the code was not written by me, but by Peng, I think both 
of us need to agree to a license change if one is to be made.

I am personally fine with either license.

>> Don't ever bully contributors into changing licensing.  It is
>> unacceptable behaviour, and in most cases - including this one by the
>> looks of things - not legal.
> 
> I don't think I have bullied the contributor. I have asked politely 
> whether it can be done. There is nothing illegal (see above).

Just adding: I did not feel bullied here.

> 
> The problematic behavior is you trying to pressure the other people to 
> accept your point of view by been condescending or insulting them like 
> you did here.
> 
> I have reported this behavior several times to CoC. And I guess this 
> need to happen again.
> 
> Cheers,
> 

Best regards // John Ernberg

[xen-4.15-testing test] 185590: regressions - trouble: blocked/broken/preparing/queued

2024-04-15 Thread osstest service owner
flight 185590 xen-4.15-testing running [real]
http://logs.test-lab.xenproject.org/osstest/logs/185590/

Regressions :-(

Tests which did not succeed and are blocking,
including tests which could not be run:
 build-amd64  broken
 build-amd64-prev broken
 build-amd64-pvopsbroken
 build-amd64-xsm  broken
 build-amd64-xtf  broken
 build-armhf  broken
 build-armhf-pvopsbroken
 build-i386   broken
 build-i386-prev  broken
 build-i386-pvops broken
 build-i386-xsm   broken
 build-amd64-xsm   5 host-build-prep  fail REGR. vs. 185282
 build-i386-xsm5 host-build-prep  fail REGR. vs. 185282
 build-i3865 host-build-prep  fail REGR. vs. 185282
 build-amd64   5 host-build-prep  fail REGR. vs. 185282
 build-amd64-pvops 5 host-build-prep  fail REGR. vs. 185282
 build-armhf-pvops 5 host-build-prep  fail REGR. vs. 185282
 build-amd64-xtf   5 host-build-prep  fail REGR. vs. 185282
 build-i386-prev   5 host-build-prep  fail REGR. vs. 185282
 build-amd64-prev  5 host-build-prep  fail REGR. vs. 185282
 build-i386-pvops  5 host-build-prep  fail REGR. vs. 185282
 build-armhf   5 host-build-prep  fail REGR. vs. 185282
 build-arm64-libvirt   queued
 test-arm64-arm64-libvirt-raw  queued
 test-arm64-arm64-libvirt-xsm  queued
 test-arm64-arm64-xl   queued
 test-arm64-arm64-xl-credit1   queued
 test-arm64-arm64-xl-credit2   queued
 test-arm64-arm64-xl-thunderx  queued
 test-arm64-arm64-xl-vhd   queued
 test-arm64-arm64-xl-xsm   queued
 build-arm64-xsm   2 hosts-allocate   running
 build-arm64   2 hosts-allocate   running
 build-arm64-pvops 2 hosts-allocate   running

Tests which did not succeed, but are not blocking:
 test-amd64-amd64-xl-rtds  1 build-check(1)   blocked  n/a
 test-amd64-amd64-xl-raw   1 build-check(1)   blocked  n/a
 test-amd64-amd64-xl-qemuu-ws16-amd64  1 build-check(1) blocked n/a
 test-amd64-amd64-xl-qemuu-win7-amd64  1 build-check(1) blocked n/a
 test-amd64-amd64-xl-qemuu-ovmf-amd64  1 build-check(1) blocked n/a
 test-amd64-amd64-xl-qemuu-dmrestrict-amd64-dmrestrict 1 build-check(1) blocked 
n/a
 test-amd64-amd64-xl-qemuu-debianhvm-i386-xsm  1 build-check(1) blocked n/a
 test-amd64-amd64-xl-qemuu-debianhvm-amd64-shadow  1 build-check(1) blocked n/a
 test-amd64-amd64-xl-qemuu-debianhvm-amd64  1 build-check(1)blocked n/a
 test-amd64-amd64-xl-qemut-ws16-amd64  1 build-check(1) blocked n/a
 test-amd64-amd64-xl-qemut-win7-amd64  1 build-check(1) blocked n/a
 test-amd64-amd64-xl-qemut-stubdom-debianhvm-amd64-xsm 1 build-check(1) blocked 
n/a
 build-amd64-libvirt   1 build-check(1)   blocked  n/a
 test-amd64-amd64-xl-qemut-debianhvm-i386-xsm  1 build-check(1) blocked n/a
 test-amd64-amd64-xl-qemut-debianhvm-amd64  1 build-check(1)blocked n/a
 test-amd64-amd64-xl-qcow2 1 build-check(1)   blocked  n/a
 test-amd64-amd64-xl-pvshim1 build-check(1)   blocked  n/a
 test-amd64-amd64-xl-pvhv2-intel  1 build-check(1)   blocked  n/a
 build-armhf-libvirt   1 build-check(1)   blocked  n/a
 test-amd64-amd64-xl-pvhv2-amd  1 build-check(1)   blocked  n/a
 test-amd64-amd64-xl-multivcpu  1 build-check(1)   blocked  n/a
 build-i386-libvirt1 build-check(1)   blocked  n/a
 test-amd64-amd64-xl-credit2   1 build-check(1)   blocked  n/a
 test-amd64-amd64-xl-credit1   1 build-check(1)   blocked  n/a
 test-amd64-amd64-dom0pvh-xl-amd  1 build-check(1)   blocked  n/a
 test-amd64-amd64-dom0pvh-xl-intel  1 build-check(1)   blocked  n/a
 test-amd64-amd64-xl   1 build-check(1)   blocked  n/a
 test-amd64-amd64-libvirt  1 build-check(1)   blocked  n/a
 test-amd64-amd64-libvirt-pair  1 build-check(1)   blocked  n/a
 test-amd64-amd64-qemuu-nested-intel  1 build-check(1)  blocked n/a
 test-amd64-amd64-libvirt-qcow2  1 build-check(1)   blocked  n/a
 test-amd64-amd64-libvirt-qemuu-debianhvm-amd64-xsm 1 build-check(1) blocked n/a
 test-amd64-amd64-qemuu-nested-amd  1 

Re: [PATCH v4 1/3] xen/arm: Add imx8q{m,x} platform glue

2024-04-15 Thread Julien Grall




On 15/04/2024 11:50, Andrew Cooper wrote:

On 15/04/2024 11:25 am, Julien Grall wrote:

Hi John,

I saw this patch was committed. I have one question this may require
some adjustment.

On 08/04/2024 17:11, John Ernberg wrote:

---
   xen/arch/arm/platforms/Makefile |   1 +
   xen/arch/arm/platforms/imx8qm.c | 139 
   2 files changed, 140 insertions(+)
   create mode 100644 xen/arch/arm/platforms/imx8qm.c

diff --git a/xen/arch/arm/platforms/Makefile
b/xen/arch/arm/platforms/Makefile
index 8632f4115f..bec6e55d1f 100644
--- a/xen/arch/arm/platforms/Makefile
+++ b/xen/arch/arm/platforms/Makefile
@@ -9,5 +9,6 @@ obj-$(CONFIG_ALL_PLAT)   += sunxi.o
   obj-$(CONFIG_ALL64_PLAT) += thunderx.o
   obj-$(CONFIG_ALL64_PLAT) += xgene-storm.o
   obj-$(CONFIG_ALL64_PLAT) += brcm-raspberry-pi.o
+obj-$(CONFIG_ALL64_PLAT) += imx8qm.o
   obj-$(CONFIG_MPSOC_PLATFORM)  += xilinx-zynqmp.o
   obj-$(CONFIG_MPSOC_PLATFORM)  += xilinx-zynqmp-eemi.o
diff --git a/xen/arch/arm/platforms/imx8qm.c
b/xen/arch/arm/platforms/imx8qm.c
new file mode 100644
index 00..3600a073e8
--- /dev/null
+++ b/xen/arch/arm/platforms/imx8qm.c
@@ -0,0 +1,139 @@
+/* SPDX-License-Identifier: GPL-2.0-or-later */


The majority of Xen code is using GPL-2.0-only. In the early days for
Xen on Arm we started to use GPLv2+ which I consider it was a mistake.
Unfortunately this started to spread as people copied/pasted the same
copyright headers.

So can you confirm whether you intended to use GPL-2.0+? If not would
you be able to send a patch to adjust it? (Better to it before there
are more modifications).


Julien: I've called you out multiple times before.


And there are multiple thread explaining why I am requesting if we can 
use GPLv2-only. In fact from CONTRIBUTING:


The recommended license of a directory will depend on the COPYING file.
If the new file is using a different license, this should be highlighted
and discussed in the commit message or cover letter introducing the
file.


Don't ever bully contributors into changing licensing.  It is
unacceptable behaviour, and in most cases - including this one by the
looks of things - not legal.


I don't think I have bullied the contributor. I have asked politely 
whether it can be done. There is nothing illegal (see above).


The problematic behavior is you trying to pressure the other people to 
accept your point of view by been condescending or insulting them like 
you did here.


I have reported this behavior several times to CoC. And I guess this 
need to happen again.


Cheers,

--
Julien Grall



[linux-6.1 test] 185571: regressions - trouble: blocked/broken

2024-04-15 Thread osstest service owner
flight 185571 linux-6.1 real [real]
http://logs.test-lab.xenproject.org/osstest/logs/185571/

Regressions :-(

Tests which did not succeed and are blocking,
including tests which could not be run:
 build-amd64  broken
 build-amd64-pvopsbroken
 build-amd64-xsm  broken
 build-arm64  broken
 build-arm64-pvopsbroken
 build-arm64-xsm  broken
 build-armhf  broken
 build-armhf-pvopsbroken
 build-i386   broken
 build-i386-pvops broken
 build-i386-xsm   broken
 build-amd64-pvops 5 host-build-prep  fail REGR. vs. 185299
 build-amd64   5 host-build-prep  fail REGR. vs. 185299
 build-amd64-xsm   5 host-build-prep  fail REGR. vs. 185299
 build-i3865 host-build-prep  fail REGR. vs. 185299
 build-armhf-pvops 5 host-build-prep  fail REGR. vs. 185299
 build-i386-pvops  5 host-build-prep  fail REGR. vs. 185299
 build-i386-xsm5 host-build-prep  fail REGR. vs. 185299
 build-arm64   5 host-build-prep  fail REGR. vs. 185299
 build-arm64-xsm   5 host-build-prep  fail REGR. vs. 185299
 build-arm64-pvops 5 host-build-prep  fail REGR. vs. 185299
 build-armhf   5 host-build-prep  fail REGR. vs. 185299

Tests which did not succeed, but are not blocking:
 test-amd64-amd64-xl-vhd   1 build-check(1)   blocked  n/a
 test-amd64-amd64-xl-shadow1 build-check(1)   blocked  n/a
 test-amd64-amd64-xl-rtds  1 build-check(1)   blocked  n/a
 test-amd64-amd64-xl-raw   1 build-check(1)   blocked  n/a
 test-amd64-amd64-xl-qemuu-ws16-amd64  1 build-check(1) blocked n/a
 test-amd64-amd64-xl-qemuu-win7-amd64  1 build-check(1) blocked n/a
 test-amd64-amd64-xl-qemuu-ovmf-amd64  1 build-check(1) blocked n/a
 test-amd64-amd64-xl-qemuu-dmrestrict-amd64-dmrestrict 1 build-check(1) blocked 
n/a
 test-amd64-amd64-xl-qemuu-debianhvm-i386-xsm  1 build-check(1) blocked n/a
 test-amd64-amd64-xl-qemuu-debianhvm-amd64-shadow  1 build-check(1) blocked n/a
 test-amd64-amd64-xl-qemuu-debianhvm-amd64  1 build-check(1)blocked n/a
 test-amd64-amd64-xl-qemut-ws16-amd64  1 build-check(1) blocked n/a
 build-amd64-libvirt   1 build-check(1)   blocked  n/a
 test-amd64-amd64-xl-qemut-win7-amd64  1 build-check(1) blocked n/a
 test-amd64-amd64-xl-qemut-stubdom-debianhvm-amd64-xsm 1 build-check(1) blocked 
n/a
 build-arm64-libvirt   1 build-check(1)   blocked  n/a
 test-amd64-amd64-xl-qemut-debianhvm-i386-xsm  1 build-check(1) blocked n/a
 test-amd64-amd64-xl-qemut-debianhvm-amd64  1 build-check(1)blocked n/a
 test-amd64-amd64-xl-qcow2 1 build-check(1)   blocked  n/a
 build-armhf-libvirt   1 build-check(1)   blocked  n/a
 test-amd64-amd64-xl-pvshim1 build-check(1)   blocked  n/a
 build-i386-libvirt1 build-check(1)   blocked  n/a
 test-amd64-amd64-xl-pvhv2-intel  1 build-check(1)   blocked  n/a
 test-amd64-amd64-dom0pvh-xl-amd  1 build-check(1)   blocked  n/a
 test-amd64-amd64-xl-pvhv2-amd  1 build-check(1)   blocked  n/a
 test-amd64-amd64-dom0pvh-xl-intel  1 build-check(1)   blocked  n/a
 test-amd64-amd64-xl-multivcpu  1 build-check(1)   blocked  n/a
 test-amd64-amd64-examine  1 build-check(1)   blocked  n/a
 test-amd64-amd64-examine-bios  1 build-check(1)   blocked  n/a
 test-amd64-amd64-examine-uefi  1 build-check(1)   blocked  n/a
 test-amd64-amd64-xl-credit2   1 build-check(1)   blocked  n/a
 test-amd64-amd64-libvirt  1 build-check(1)   blocked  n/a
 test-amd64-amd64-libvirt-pair  1 build-check(1)   blocked  n/a
 test-amd64-amd64-xl-credit1   1 build-check(1)   blocked  n/a
 test-amd64-amd64-libvirt-qcow2  1 build-check(1)   blocked  n/a
 test-amd64-amd64-libvirt-qemuu-debianhvm-amd64-xsm 1 build-check(1) blocked n/a
 test-amd64-amd64-xl   1 build-check(1)   blocked  n/a
 test-amd64-amd64-libvirt-raw  1 build-check(1)   blocked  n/a
 test-amd64-amd64-libvirt-vhd  1 build-check(1)   blocked  n/a
 test-amd64-amd64-qemuu-nested-intel  1 build-check(1)  blocked n/a
 test-amd64-amd64-libvirt-xsm  1 build-check(1)   blocked  n/a
 test-amd64-amd64-pair 1 build-check(1)   

Re: [PATCH v4 1/3] xen/arm: Add imx8q{m,x} platform glue

2024-04-15 Thread Andrew Cooper
On 15/04/2024 11:25 am, Julien Grall wrote:
> Hi John,
>
> I saw this patch was committed. I have one question this may require
> some adjustment.
>
> On 08/04/2024 17:11, John Ernberg wrote:
>> ---
>>   xen/arch/arm/platforms/Makefile |   1 +
>>   xen/arch/arm/platforms/imx8qm.c | 139 
>>   2 files changed, 140 insertions(+)
>>   create mode 100644 xen/arch/arm/platforms/imx8qm.c
>>
>> diff --git a/xen/arch/arm/platforms/Makefile
>> b/xen/arch/arm/platforms/Makefile
>> index 8632f4115f..bec6e55d1f 100644
>> --- a/xen/arch/arm/platforms/Makefile
>> +++ b/xen/arch/arm/platforms/Makefile
>> @@ -9,5 +9,6 @@ obj-$(CONFIG_ALL_PLAT)   += sunxi.o
>>   obj-$(CONFIG_ALL64_PLAT) += thunderx.o
>>   obj-$(CONFIG_ALL64_PLAT) += xgene-storm.o
>>   obj-$(CONFIG_ALL64_PLAT) += brcm-raspberry-pi.o
>> +obj-$(CONFIG_ALL64_PLAT) += imx8qm.o
>>   obj-$(CONFIG_MPSOC_PLATFORM)  += xilinx-zynqmp.o
>>   obj-$(CONFIG_MPSOC_PLATFORM)  += xilinx-zynqmp-eemi.o
>> diff --git a/xen/arch/arm/platforms/imx8qm.c
>> b/xen/arch/arm/platforms/imx8qm.c
>> new file mode 100644
>> index 00..3600a073e8
>> --- /dev/null
>> +++ b/xen/arch/arm/platforms/imx8qm.c
>> @@ -0,0 +1,139 @@
>> +/* SPDX-License-Identifier: GPL-2.0-or-later */
>
> The majority of Xen code is using GPL-2.0-only. In the early days for
> Xen on Arm we started to use GPLv2+ which I consider it was a mistake.
> Unfortunately this started to spread as people copied/pasted the same
> copyright headers.
>
> So can you confirm whether you intended to use GPL-2.0+? If not would
> you be able to send a patch to adjust it? (Better to it before there
> are more modifications).

Julien: I've called you out multiple times before.

Don't ever bully contributors into changing licensing.  It is
unacceptable behaviour, and in most cases - including this one by the
looks of things - not legal.


John: Thankyou for your contribution.  It has been made under a license
compatible with the rest of Xen.  There is no need to make any change,
and please do not feel pressured into doing so.

~Andrew



Re: [PATCH v2] drivers: char: Enable OMAP UART driver for TI K3 devices

2024-04-15 Thread Julien Grall

Hi,

On 08/04/2024 16:03, Vaishnav Achath wrote:

TI K3 devices (J721E, J721S2, AM62X .etc) have the same variant
of UART as OMAP4. Add the compatible used in Linux device tree,
"ti,am654-uart" to the OMAP UART dt_match so that the driver can
be used with these devices. Also, enable the driver for ARM64
platforms.

Reviewed-by: Michal Orzel 
Signed-off-by: Vaishnav Achath 


In general, the tags are sorted chronologically. I can re-order both 
when committing:


Acked-by: Julien Grall 

Cheers,

--
Julien Grall



Re: [PATCH] xen/public: s/int/int32_t

2024-04-15 Thread Julien Grall

Hi,

On 10/04/2024 00:26, Stefano Stabellini wrote:



From 28f83c4ec0c0b5c1e7eb2bd8bc5dc3190314a5b7 Mon Sep 17 00:00:00 2001

From: Stefano Stabellini 
Date: Tue, 9 Apr 2024 16:19:21 -0700
Subject: [PATCH] public: s/int/int32_t

Straightforward int -> int32_t and unsigned int -> uint32_t replacements
in public headers. No ABI or semantic changes intended.

Signed-off-by: Stefano Stabellini 


Reviewed-by: Julien Grall 

Cheers,

--
Julien Grall



Re: [PATCH v4 1/3] xen/arm: Add imx8q{m,x} platform glue

2024-04-15 Thread Julien Grall

Hi John,

I saw this patch was committed. I have one question this may require 
some adjustment.


On 08/04/2024 17:11, John Ernberg wrote:

---
  xen/arch/arm/platforms/Makefile |   1 +
  xen/arch/arm/platforms/imx8qm.c | 139 
  2 files changed, 140 insertions(+)
  create mode 100644 xen/arch/arm/platforms/imx8qm.c

diff --git a/xen/arch/arm/platforms/Makefile b/xen/arch/arm/platforms/Makefile
index 8632f4115f..bec6e55d1f 100644
--- a/xen/arch/arm/platforms/Makefile
+++ b/xen/arch/arm/platforms/Makefile
@@ -9,5 +9,6 @@ obj-$(CONFIG_ALL_PLAT)   += sunxi.o
  obj-$(CONFIG_ALL64_PLAT) += thunderx.o
  obj-$(CONFIG_ALL64_PLAT) += xgene-storm.o
  obj-$(CONFIG_ALL64_PLAT) += brcm-raspberry-pi.o
+obj-$(CONFIG_ALL64_PLAT) += imx8qm.o
  obj-$(CONFIG_MPSOC_PLATFORM)  += xilinx-zynqmp.o
  obj-$(CONFIG_MPSOC_PLATFORM)  += xilinx-zynqmp-eemi.o
diff --git a/xen/arch/arm/platforms/imx8qm.c b/xen/arch/arm/platforms/imx8qm.c
new file mode 100644
index 00..3600a073e8
--- /dev/null
+++ b/xen/arch/arm/platforms/imx8qm.c
@@ -0,0 +1,139 @@
+/* SPDX-License-Identifier: GPL-2.0-or-later */


The majority of Xen code is using GPL-2.0-only. In the early days for 
Xen on Arm we started to use GPLv2+ which I consider it was a mistake.
Unfortunately this started to spread as people copied/pasted the same 
copyright headers.


So can you confirm whether you intended to use GPL-2.0+? If not would 
you be able to send a patch to adjust it? (Better to it before there are 
more modifications).


Cheers,

--
Julien Grall



Re: [PATCH v2 1/4] docs: add xen_ulong_t to the documented integers sizes/alignments

2024-04-15 Thread Julien Grall

Hi Bertrand,

On 15/04/2024 08:48, Bertrand Marquis wrote:

Hi Julien,


On 12 Apr 2024, at 19:01, Julien Grall  wrote:



On Fri, 12 Apr 2024 at 11:30, Bertrand Marquis  wrote:
Hi Julien,


On 12 Apr 2024, at 15:53, Julien Grall  wrote:



On Thu, 11 Apr 2024 at 18:08, Stefano Stabellini  wrote:
On Wed, 10 Apr 2024, Julien Grall wrote:

On Wed, 10 Apr 2024 at 19:47, Stefano Stabellini  
wrote:
   xen_ulong_t is widely used in public headers.

   Signed-off-by: Stefano Stabellini 
   ---

   Given that xen_ulong_t is used in public headers there could be a better
   place for documenting it but this was the most straightforward to add.
   ---
docs/misra/C-language-toolchain.rst | 11 +++
1 file changed, 11 insertions(+)

   diff --git a/docs/misra/C-language-toolchain.rst 
b/docs/misra/C-language-toolchain.rst
   index 5ddfe7bdbe..7a334260e6 100644
   --- a/docs/misra/C-language-toolchain.rst
   +++ b/docs/misra/C-language-toolchain.rst
   @@ -531,6 +531,17 @@ A summary table of data types, sizes and alignment 
is below:
 - 64 bits
 - x86_64, ARMv8-A AArch64, RV64, PPC64

   +   * - xen_ulong_t
   + - 32 bits
   + - 32 bits
   + - x86_32
   +
   +   * - xen_ulong_t
   + - 64 bits
   + - 64 bits
   + - x86_64, ARMv8-A AArch64, RV64, PPC64, ARMv8-A AArch32, ARMv8-R
   +   AArch32, ARMv7-A


We support neither ARMv8-R nor ARMv8-A Aarch32.

I could possibly accept the latter because it works to. But the former is so 
far misleading.


Yes I think you are right. Moreover this document
(C-language-toolchain.rst) is meant for the Xen build. While this patch
is trying to document the types used in the public headers for the
external-facing ABI.

I'll move the information this patch is adding to a separate document,
specific to the public headers. I will only add the architectures
currently working: I'll add ARMv8-A Aarch32 because although it is
unsupported it is interesting to know the size of xen_ulong_t for
aarch32 in the public headers. I will remove ARMv8-R as it is not
available upstream.

Thinking a bit more. What about Armv9? Rather than listing each version, should 
we instead use ARMv7-A aarch32 and later, ARMv8-A aarch64 and later?


Definitely you are right here but as for Armv8-R, Armv9 is not something that 
we explicitely support right now (even though it should work).

I am confused with the comparison. I thought you can’t boot Xen at all on 
Armv8-R. But you can on Armv9-A as this just Armv8-A + features the software 
don’t need to use.

Did you intend to draw the comparison with Armv8-A Aarch32?


Yes in my mind armv9 even if currently working it is not something officially 
supported so it is in the same state as armv8 aarch32.


AFAICT, Stefano said he will add ARMv8-A AArch32, so we should be 
consistent and add Armv9-A in the list.


Cheers,

--
Julien Grall



[libvirt test] 185570: regressions - trouble: blocked/broken

2024-04-15 Thread osstest service owner
flight 185570 libvirt real [real]
http://logs.test-lab.xenproject.org/osstest/logs/185570/

Regressions :-(

Tests which did not succeed and are blocking,
including tests which could not be run:
 build-amd64  broken
 build-amd64-pvopsbroken
 build-amd64-xsm  broken
 build-arm64  broken
 build-arm64-pvopsbroken
 build-arm64-xsm  broken
 build-armhf  broken
 build-armhf-pvopsbroken
 build-i386   broken
 build-i386-pvops broken
 build-i386-xsm   broken
 build-i386-pvops  5 host-build-prep  fail REGR. vs. 185412
 build-amd64-pvops 5 host-build-prep  fail REGR. vs. 185412
 build-amd64-xsm   5 host-build-prep  fail REGR. vs. 185412
 build-armhf-pvops 5 host-build-prep  fail REGR. vs. 185412
 build-i386-xsm5 host-build-prep  fail REGR. vs. 185412
 build-amd64   5 host-build-prep  fail REGR. vs. 185412
 build-i3865 host-build-prep  fail REGR. vs. 185412
 build-arm64-xsm   5 host-build-prep  fail REGR. vs. 185412
 build-arm64-pvops 5 host-build-prep  fail REGR. vs. 185412
 build-arm64   5 host-build-prep  fail REGR. vs. 185412
 build-armhf   5 host-build-prep  fail REGR. vs. 185412

Tests which did not succeed, but are not blocking:
 build-amd64-libvirt   1 build-check(1)   blocked  n/a
 build-arm64-libvirt   1 build-check(1)   blocked  n/a
 build-armhf-libvirt   1 build-check(1)   blocked  n/a
 build-i386-libvirt1 build-check(1)   blocked  n/a
 test-amd64-amd64-libvirt  1 build-check(1)   blocked  n/a
 test-amd64-amd64-libvirt-pair  1 build-check(1)   blocked  n/a
 test-amd64-amd64-libvirt-qcow2  1 build-check(1)   blocked  n/a
 test-amd64-amd64-libvirt-qemuu-debianhvm-amd64-xsm 1 build-check(1) blocked n/a
 test-amd64-amd64-libvirt-raw  1 build-check(1)   blocked  n/a
 test-amd64-amd64-libvirt-vhd  1 build-check(1)   blocked  n/a
 test-amd64-amd64-libvirt-xsm  1 build-check(1)   blocked  n/a
 test-arm64-arm64-libvirt  1 build-check(1)   blocked  n/a
 test-arm64-arm64-libvirt-qcow2  1 build-check(1)   blocked  n/a
 test-arm64-arm64-libvirt-raw  1 build-check(1)   blocked  n/a
 test-arm64-arm64-libvirt-xsm  1 build-check(1)   blocked  n/a
 test-armhf-armhf-libvirt  1 build-check(1)   blocked  n/a
 test-armhf-armhf-libvirt-vhd  1 build-check(1)   blocked  n/a

version targeted for testing:
 libvirt  a4972778f97ae667a02bbbecdeabb912506fa2cf
baseline version:
 libvirt  812a146dfe784315edece43d09f8d9e432f8230e

Last test of basis   185412  2024-04-13 04:19:07 Z2 days
Testing same since   185482  2024-04-14 04:19:08 Z1 days2 attempts


People who touched revisions under test:
  Michal Privoznik 

jobs:
 build-amd64-xsm  broken  
 build-arm64-xsm  broken  
 build-i386-xsm   broken  
 build-amd64  broken  
 build-arm64  broken  
 build-armhf  broken  
 build-i386   broken  
 build-amd64-libvirt  blocked 
 build-arm64-libvirt  blocked 
 build-armhf-libvirt  blocked 
 build-i386-libvirt   blocked 
 build-amd64-pvopsbroken  
 build-arm64-pvopsbroken  
 build-armhf-pvopsbroken  
 build-i386-pvops broken  
 test-amd64-amd64-libvirt-qemuu-debianhvm-amd64-xsm   blocked 
 test-amd64-amd64-libvirt-xsm blocked 
 test-arm64-arm64-libvirt-xsm blocked 
 test-amd64-amd64-libvirt blocked 
 test-arm64-arm64-libvirt blocked 
 test-armhf-armhf-libvirt blocked 
 

[XEN PATCH] docs/misra: mark the gzip folder as adopted code

2024-04-15 Thread Federico Serafini
Mark the whole gzip folder as adopted code and remove the redundant
deviation of file inflate.

Signed-off-by: Federico Serafini 
---
 automation/eclair_analysis/ECLAIR/deviations.ecl | 5 -
 docs/misra/exclude-list.json | 2 +-
 2 files changed, 1 insertion(+), 6 deletions(-)

diff --git a/automation/eclair_analysis/ECLAIR/deviations.ecl 
b/automation/eclair_analysis/ECLAIR/deviations.ecl
index 0230b41c6d..4287805819 100644
--- a/automation/eclair_analysis/ECLAIR/deviations.ecl
+++ b/automation/eclair_analysis/ECLAIR/deviations.ecl
@@ -148,11 +148,6 @@ const-qualified."
 # Series 8.
 #
 
--doc_begin="The following file is imported from Linux: ignore for now."
--file_tag+={adopted_r8_2,"^xen/common/inflate\\.c$"}
--config=MC3R1.R8.2,reports+={deliberate,"any_area(any_loc(file(adopted_r8_2)))"}
--doc_end
-
 -doc_begin="The type ret_t is deliberately used and defined as int or long 
depending on the architecture."
 -config=MC3R1.R8.3,reports+={deliberate,"any_area(any_loc(text(^.*ret_t.*$)))"}
 -doc_end
diff --git a/docs/misra/exclude-list.json b/docs/misra/exclude-list.json
index 0956364158..cd69765427 100644
--- a/docs/misra/exclude-list.json
+++ b/docs/misra/exclude-list.json
@@ -118,7 +118,7 @@
 "comment": "Imported from Linux, ignore for now"
 },
 {
-"rel_path": "common/gzip/inflate.c",
+"rel_path": "common/gzip/*",
 "comment": "Imported from Linux, ignore for now"
 },
 {
-- 
2.34.1




[xen-4.15-testing test] 185567: regressions - trouble: blocked/broken

2024-04-15 Thread osstest service owner
flight 185567 xen-4.15-testing real [real]
http://logs.test-lab.xenproject.org/osstest/logs/185567/

Regressions :-(

Tests which did not succeed and are blocking,
including tests which could not be run:
 build-amd64  broken
 build-amd64-prev broken
 build-amd64-pvopsbroken
 build-amd64-xsm  broken
 build-amd64-xtf  broken
 build-arm64  broken
 build-arm64-pvopsbroken
 build-arm64-xsm  broken
 build-armhf  broken
 build-armhf-pvopsbroken
 build-i386   broken
 build-i386-prev  broken
 build-i386-pvops broken
 build-i386-xsm   broken
 build-amd64-xsm   5 host-build-prep  fail REGR. vs. 185282
 build-i386-xsm5 host-build-prep  fail REGR. vs. 185282
 build-i3865 host-build-prep  fail REGR. vs. 185282
 build-amd64   5 host-build-prep  fail REGR. vs. 185282
 build-amd64-pvops 5 host-build-prep  fail REGR. vs. 185282
 build-armhf-pvops 5 host-build-prep  fail REGR. vs. 185282
 build-amd64-xtf   5 host-build-prep  fail REGR. vs. 185282
 build-i386-prev   5 host-build-prep  fail REGR. vs. 185282
 build-amd64-prev  5 host-build-prep  fail REGR. vs. 185282
 build-i386-pvops  5 host-build-prep  fail REGR. vs. 185282
 build-arm64   5 host-build-prep  fail REGR. vs. 185282
 build-arm64-pvops 5 host-build-prep  fail REGR. vs. 185282
 build-arm64-xsm   5 host-build-prep  fail REGR. vs. 185282
 build-armhf   5 host-build-prep  fail REGR. vs. 185282

Tests which did not succeed, but are not blocking:
 test-amd64-amd64-xl-rtds  1 build-check(1)   blocked  n/a
 test-amd64-amd64-xl-raw   1 build-check(1)   blocked  n/a
 test-amd64-amd64-xl-qemuu-ws16-amd64  1 build-check(1) blocked n/a
 test-amd64-amd64-xl-qemuu-win7-amd64  1 build-check(1) blocked n/a
 test-amd64-amd64-xl-qemuu-ovmf-amd64  1 build-check(1) blocked n/a
 test-amd64-amd64-xl-qemuu-dmrestrict-amd64-dmrestrict 1 build-check(1) blocked 
n/a
 test-amd64-amd64-xl-qemuu-debianhvm-i386-xsm  1 build-check(1) blocked n/a
 test-amd64-amd64-xl-qemuu-debianhvm-amd64-shadow  1 build-check(1) blocked n/a
 test-amd64-amd64-xl-qemuu-debianhvm-amd64  1 build-check(1)blocked n/a
 test-amd64-amd64-xl-qemut-ws16-amd64  1 build-check(1) blocked n/a
 test-amd64-amd64-xl-qemut-win7-amd64  1 build-check(1) blocked n/a
 test-amd64-amd64-xl-qemut-stubdom-debianhvm-amd64-xsm 1 build-check(1) blocked 
n/a
 build-amd64-libvirt   1 build-check(1)   blocked  n/a
 test-amd64-amd64-xl-qemut-debianhvm-i386-xsm  1 build-check(1) blocked n/a
 test-amd64-amd64-xl-qemut-debianhvm-amd64  1 build-check(1)blocked n/a
 test-amd64-amd64-xl-qcow2 1 build-check(1)   blocked  n/a
 build-arm64-libvirt   1 build-check(1)   blocked  n/a
 test-amd64-amd64-xl-pvshim1 build-check(1)   blocked  n/a
 test-amd64-amd64-xl-pvhv2-intel  1 build-check(1)   blocked  n/a
 build-armhf-libvirt   1 build-check(1)   blocked  n/a
 test-amd64-amd64-xl-pvhv2-amd  1 build-check(1)   blocked  n/a
 test-amd64-amd64-xl-multivcpu  1 build-check(1)   blocked  n/a
 build-i386-libvirt1 build-check(1)   blocked  n/a
 test-amd64-amd64-xl-credit2   1 build-check(1)   blocked  n/a
 test-amd64-amd64-xl-credit1   1 build-check(1)   blocked  n/a
 test-amd64-amd64-dom0pvh-xl-amd  1 build-check(1)   blocked  n/a
 test-amd64-amd64-dom0pvh-xl-intel  1 build-check(1)   blocked  n/a
 test-amd64-amd64-xl   1 build-check(1)   blocked  n/a
 test-amd64-amd64-libvirt  1 build-check(1)   blocked  n/a
 test-amd64-amd64-libvirt-pair  1 build-check(1)   blocked  n/a
 test-amd64-amd64-qemuu-nested-intel  1 build-check(1)  blocked n/a
 test-amd64-amd64-libvirt-qcow2  1 build-check(1)   blocked  n/a
 test-amd64-amd64-libvirt-qemuu-debianhvm-amd64-xsm 1 build-check(1) blocked n/a
 test-amd64-amd64-qemuu-nested-amd  1 build-check(1)   blocked  n/a
 test-amd64-amd64-libvirt-raw  1 build-check(1)   blocked  n/a
 test-amd64-amd64-libvirt-vhd  1 build-check(1)   blocked  n/a
 

Re: [PATCH] osstest: increase boot timeout for Debian PV guests

2024-04-15 Thread Anthony PERARD
On Mon, Apr 15, 2024 at 10:33:19AM +0200, Roger Pau Monné wrote:
> On Mon, Apr 15, 2024 at 09:15:51AM +0100, Anthony PERARD wrote:
> > On Fri, Apr 12, 2024 at 04:11:21PM +0200, Roger Pau Monne wrote:
> > > The current timeout of 40s seems to be too low for AMD boxes (pinots and
> > > rimavas) in the lab after XSA-455, see:
> > 
> > There's something else we can tweak if only some machine need extra
> > time, it is an host property "TimeoutFactor", which can increase all
> > timeout for a single machine. (It's use on the cubietruck for example.)
> > 
> > Or is it better to just increase boot time for all (or at least those)
> > pv guest?
> 
> I did consider that, but given the timeout is just limited to PV guest
> startup I considered the "TimeoutFactor" too broad.  I think
> increasing the Debian PV boot timeout from 40s to 60s is a minor
> adjustment, and shouldn't affect other tests.
> 
> Let me know if you still prefer to use "TimeoutFactor" and I will look
> into it.

Acked-by: Anthony PERARD 

Thanks,

-- 
Anthony PERARD



Re: [OSSTEST PATCH] production-config: override mirror url for buster, use archive

2024-04-15 Thread Roger Pau Monné
On Mon, Apr 15, 2024 at 09:17:08AM +0100, Anthony PERARD wrote:
> buster-backport isn't available on the main mirror anymore.
> 
> Signed-off-by: Anthony PERARD 

Acked-by: Roger Pau Monné 

Please push ASAP.

Thanks, Roger.



Re: [PATCH] osstest: increase boot timeout for Debian PV guests

2024-04-15 Thread Roger Pau Monné
On Mon, Apr 15, 2024 at 09:15:51AM +0100, Anthony PERARD wrote:
> On Fri, Apr 12, 2024 at 04:11:21PM +0200, Roger Pau Monne wrote:
> > The current timeout of 40s seems to be too low for AMD boxes (pinots and
> > rimavas) in the lab after XSA-455, see:
> 
> There's something else we can tweak if only some machine need extra
> time, it is an host property "TimeoutFactor", which can increase all
> timeout for a single machine. (It's use on the cubietruck for example.)
> 
> Or is it better to just increase boot time for all (or at least those)
> pv guest?

I did consider that, but given the timeout is just limited to PV guest
startup I considered the "TimeoutFactor" too broad.  I think
increasing the Debian PV boot timeout from 40s to 60s is a minor
adjustment, and shouldn't affect other tests.

Let me know if you still prefer to use "TimeoutFactor" and I will look
into it.

Thanks, Roger.



[xen-unstable test] 185564: regressions - trouble: blocked/broken

2024-04-15 Thread osstest service owner
flight 185564 xen-unstable real [real]
http://logs.test-lab.xenproject.org/osstest/logs/185564/

Regressions :-(

Tests which did not succeed and are blocking,
including tests which could not be run:
 build-amd64  broken
 build-amd64-prev broken
 build-amd64-pvopsbroken
 build-amd64-xsm  broken
 build-amd64-xtf  broken
 build-arm64  broken
 build-arm64-pvopsbroken
 build-arm64-xsm  broken
 build-armhf  broken
 build-armhf-pvopsbroken
 build-i386   broken
 build-i386-prev  broken
 build-i386-pvops broken
 build-i386-xsm   broken
 build-amd64-prev  5 host-build-prep  fail REGR. vs. 185281
 build-i386-prev   5 host-build-prep  fail REGR. vs. 185281
 build-amd64   5 host-build-prep  fail REGR. vs. 185281
 build-armhf-pvops 5 host-build-prep  fail REGR. vs. 185281
 build-amd64-xtf   5 host-build-prep  fail REGR. vs. 185281
 build-amd64-xsm   5 host-build-prep  fail REGR. vs. 185281
 build-i386-xsm5 host-build-prep  fail REGR. vs. 185281
 build-amd64-pvops 5 host-build-prep  fail REGR. vs. 185281
 build-i3865 host-build-prep  fail REGR. vs. 185281
 build-i386-pvops  5 host-build-prep  fail REGR. vs. 185281
 build-arm64-xsm   5 host-build-prep  fail REGR. vs. 185281
 build-arm64   5 host-build-prep  fail REGR. vs. 185281
 build-arm64-pvops 5 host-build-prep  fail REGR. vs. 185281
 build-armhf   5 host-build-prep  fail REGR. vs. 185281

Tests which did not succeed, but are not blocking:
 test-xtf-amd64-amd64-21 build-check(1)   blocked  n/a
 test-xtf-amd64-amd64-31 build-check(1)   blocked  n/a
 test-xtf-amd64-amd64-41 build-check(1)   blocked  n/a
 test-amd64-amd64-xl-qemuu-win7-amd64  1 build-check(1) blocked n/a
 test-amd64-amd64-xl-qemuu-ovmf-amd64  1 build-check(1) blocked n/a
 test-amd64-amd64-xl-qemuu-dmrestrict-amd64-dmrestrict 1 build-check(1) blocked 
n/a
 test-amd64-amd64-xl-qemuu-debianhvm-i386-xsm  1 build-check(1) blocked n/a
 test-amd64-amd64-xl-qemuu-debianhvm-amd64-shadow  1 build-check(1) blocked n/a
 test-amd64-amd64-xl-qemuu-debianhvm-amd64  1 build-check(1)blocked n/a
 test-amd64-amd64-xl-qemut-ws16-amd64  1 build-check(1) blocked n/a
 test-amd64-amd64-xl-qemut-win7-amd64  1 build-check(1) blocked n/a
 test-amd64-amd64-xl-qemut-stubdom-debianhvm-amd64-xsm 1 build-check(1) blocked 
n/a
 test-amd64-amd64-xl-qemut-debianhvm-i386-xsm  1 build-check(1) blocked n/a
 test-amd64-amd64-xl-qemut-debianhvm-amd64  1 build-check(1)blocked n/a
 test-amd64-amd64-xl-qcow2 1 build-check(1)   blocked  n/a
 build-amd64-libvirt   1 build-check(1)   blocked  n/a
 test-amd64-amd64-xl-pvshim1 build-check(1)   blocked  n/a
 test-amd64-amd64-xl-pvhv2-intel  1 build-check(1)   blocked  n/a
 test-amd64-amd64-xl-pvhv2-amd  1 build-check(1)   blocked  n/a
 build-arm64-libvirt   1 build-check(1)   blocked  n/a
 test-amd64-amd64-xl-multivcpu  1 build-check(1)   blocked  n/a
 test-amd64-amd64-xl-credit2   1 build-check(1)   blocked  n/a
 build-armhf-libvirt   1 build-check(1)   blocked  n/a
 test-amd64-amd64-xl-credit1   1 build-check(1)   blocked  n/a
 test-amd64-amd64-xl   1 build-check(1)   blocked  n/a
 build-i386-libvirt1 build-check(1)   blocked  n/a
 test-amd64-amd64-qemuu-nested-intel  1 build-check(1)  blocked n/a
 test-amd64-amd64-qemuu-nested-amd  1 build-check(1)   blocked  n/a
 test-amd64-amd64-dom0pvh-xl-amd  1 build-check(1)   blocked  n/a
 test-amd64-amd64-dom0pvh-xl-intel  1 build-check(1)   blocked  n/a
 test-amd64-amd64-qemuu-freebsd12-amd64  1 build-check(1)   blocked n/a
 test-amd64-amd64-examine  1 build-check(1)   blocked  n/a
 test-amd64-amd64-examine-bios  1 build-check(1)   blocked  n/a
 test-amd64-amd64-qemuu-freebsd11-amd64  1 build-check(1)   blocked n/a
 test-amd64-amd64-examine-uefi  1 build-check(1)   blocked  n/a
 test-amd64-amd64-libvirt  1 build-check(1)   blocked  n/a
 test-amd64-amd64-pygrub 

[OSSTEST PATCH] production-config: override mirror url for buster, use archive

2024-04-15 Thread Anthony PERARD
buster-backport isn't available on the main mirror anymore.

Signed-off-by: Anthony PERARD 
---

Notes:
I've tested the patch already, so I'll push that soon.

 production-config | 2 ++
 1 file changed, 2 insertions(+)

diff --git a/production-config b/production-config
index 6345c40c..5b0c640d 100644
--- a/production-config
+++ b/production-config
@@ -95,6 +95,8 @@ TftpDiVersion_buster 2023-06-20
 
 DebianSnapshotBackports_jessie 
http://snapshot.debian.org/archive/debian/20190206T211314Z/
 
+DebianMirror_buster http://archive.debian.org/debian/
+
 # For ISO installs
 DebianImageVersion_wheezy 7.2.0
 DebianImageVersion_jessie 8.2.0
-- 
Anthony PERARD




Re: [PATCH] osstest: increase boot timeout for Debian PV guests

2024-04-15 Thread Anthony PERARD
On Fri, Apr 12, 2024 at 04:11:21PM +0200, Roger Pau Monne wrote:
> The current timeout of 40s seems to be too low for AMD boxes (pinots and
> rimavas) in the lab after XSA-455, see:

There's something else we can tweak if only some machine need extra
time, it is an host property "TimeoutFactor", which can increase all
timeout for a single machine. (It's use on the cubietruck for example.)

Or is it better to just increase boot time for all (or at least those)
pv guest?

Cheers,

-- 
Anthony PERARD



[linux-linus test] 185560: regressions - trouble: blocked/broken

2024-04-15 Thread osstest service owner
flight 185560 linux-linus real [real]
http://logs.test-lab.xenproject.org/osstest/logs/185560/

Regressions :-(

Tests which did not succeed and are blocking,
including tests which could not be run:
 build-amd64  broken
 build-amd64-pvopsbroken
 build-amd64-xsm  broken
 build-arm64  broken
 build-arm64-pvopsbroken
 build-arm64-xsm  broken
 build-armhf  broken
 build-armhf-pvopsbroken
 build-i386   broken
 build-i386-pvops broken
 build-i386-xsm   broken
 build-amd64-xsm   5 host-build-prep  fail REGR. vs. 185347
 build-i3865 host-build-prep  fail REGR. vs. 185347
 build-amd64   5 host-build-prep  fail REGR. vs. 185347
 build-armhf-pvops 5 host-build-prep  fail REGR. vs. 185347
 build-amd64-pvops 5 host-build-prep  fail REGR. vs. 185347
 build-i386-pvops  5 host-build-prep  fail REGR. vs. 185347
 build-i386-xsm5 host-build-prep  fail REGR. vs. 185347
 build-arm64-xsm   5 host-build-prep  fail REGR. vs. 185347
 build-arm64   5 host-build-prep  fail REGR. vs. 185347
 build-arm64-pvops 5 host-build-prep  fail REGR. vs. 185347
 build-armhf   5 host-build-prep  fail REGR. vs. 185347

Tests which did not succeed, but are not blocking:
 test-amd64-amd64-xl-vhd   1 build-check(1)   blocked  n/a
 test-amd64-amd64-xl-shadow1 build-check(1)   blocked  n/a
 test-amd64-amd64-xl-rtds  1 build-check(1)   blocked  n/a
 test-amd64-amd64-xl-raw   1 build-check(1)   blocked  n/a
 test-amd64-amd64-xl-qemuu-ws16-amd64  1 build-check(1) blocked n/a
 test-amd64-amd64-xl-qemuu-win7-amd64  1 build-check(1) blocked n/a
 test-amd64-amd64-xl-qemuu-ovmf-amd64  1 build-check(1) blocked n/a
 test-amd64-amd64-xl-qemuu-dmrestrict-amd64-dmrestrict 1 build-check(1) blocked 
n/a
 test-amd64-amd64-xl-qemuu-debianhvm-i386-xsm  1 build-check(1) blocked n/a
 test-amd64-amd64-xl-qemuu-debianhvm-amd64-shadow  1 build-check(1) blocked n/a
 test-amd64-amd64-xl-qemuu-debianhvm-amd64  1 build-check(1)blocked n/a
 test-amd64-amd64-xl-qemut-ws16-amd64  1 build-check(1) blocked n/a
 build-amd64-libvirt   1 build-check(1)   blocked  n/a
 test-amd64-amd64-xl-qemut-win7-amd64  1 build-check(1) blocked n/a
 test-amd64-amd64-xl-qemut-stubdom-debianhvm-amd64-xsm 1 build-check(1) blocked 
n/a
 build-arm64-libvirt   1 build-check(1)   blocked  n/a
 test-amd64-amd64-xl-qemut-debianhvm-i386-xsm  1 build-check(1) blocked n/a
 test-amd64-amd64-xl-qemut-debianhvm-amd64  1 build-check(1)blocked n/a
 test-amd64-amd64-xl-qcow2 1 build-check(1)   blocked  n/a
 build-armhf-libvirt   1 build-check(1)   blocked  n/a
 test-amd64-amd64-xl-pvshim1 build-check(1)   blocked  n/a
 build-i386-libvirt1 build-check(1)   blocked  n/a
 test-amd64-amd64-xl-pvhv2-intel  1 build-check(1)   blocked  n/a
 test-amd64-amd64-dom0pvh-xl-amd  1 build-check(1)   blocked  n/a
 test-amd64-amd64-xl-pvhv2-amd  1 build-check(1)   blocked  n/a
 test-amd64-amd64-dom0pvh-xl-intel  1 build-check(1)   blocked  n/a
 test-amd64-amd64-xl-multivcpu  1 build-check(1)   blocked  n/a
 test-amd64-amd64-examine  1 build-check(1)   blocked  n/a
 test-amd64-amd64-examine-bios  1 build-check(1)   blocked  n/a
 test-amd64-amd64-examine-uefi  1 build-check(1)   blocked  n/a
 test-amd64-amd64-xl-credit2   1 build-check(1)   blocked  n/a
 test-amd64-amd64-libvirt  1 build-check(1)   blocked  n/a
 test-amd64-amd64-libvirt-pair  1 build-check(1)   blocked  n/a
 test-amd64-amd64-xl-credit1   1 build-check(1)   blocked  n/a
 test-amd64-amd64-libvirt-qcow2  1 build-check(1)   blocked  n/a
 test-amd64-amd64-libvirt-qemuu-debianhvm-amd64-xsm 1 build-check(1) blocked n/a
 test-amd64-amd64-xl   1 build-check(1)   blocked  n/a
 test-amd64-amd64-libvirt-raw  1 build-check(1)   blocked  n/a
 test-amd64-amd64-libvirt-vhd  1 build-check(1)   blocked  n/a
 test-amd64-amd64-qemuu-nested-intel  1 build-check(1)  blocked n/a
 test-amd64-amd64-libvirt-xsm  1 build-check(1)   blocked  n/a
 test-amd64-amd64-pair 1 build-check(1)   

Re: [PATCH v2 1/4] docs: add xen_ulong_t to the documented integers sizes/alignments

2024-04-15 Thread Bertrand Marquis
Hi Julien,

> On 12 Apr 2024, at 19:01, Julien Grall  wrote:
> 
> 
> 
> On Fri, 12 Apr 2024 at 11:30, Bertrand Marquis  
> wrote:
> Hi Julien,
> 
> > On 12 Apr 2024, at 15:53, Julien Grall  wrote:
> > 
> > 
> > 
> > On Thu, 11 Apr 2024 at 18:08, Stefano Stabellini  
> > wrote:
> > On Wed, 10 Apr 2024, Julien Grall wrote:
> > > On Wed, 10 Apr 2024 at 19:47, Stefano Stabellini 
> > >  wrote:
> > >   xen_ulong_t is widely used in public headers.
> > > 
> > >   Signed-off-by: Stefano Stabellini 
> > >   ---
> > > 
> > >   Given that xen_ulong_t is used in public headers there could be a 
> > > better
> > >   place for documenting it but this was the most straightforward to 
> > > add.
> > >   ---
> > >docs/misra/C-language-toolchain.rst | 11 +++
> > >1 file changed, 11 insertions(+)
> > > 
> > >   diff --git a/docs/misra/C-language-toolchain.rst 
> > > b/docs/misra/C-language-toolchain.rst
> > >   index 5ddfe7bdbe..7a334260e6 100644
> > >   --- a/docs/misra/C-language-toolchain.rst
> > >   +++ b/docs/misra/C-language-toolchain.rst
> > >   @@ -531,6 +531,17 @@ A summary table of data types, sizes and 
> > > alignment is below:
> > > - 64 bits
> > > - x86_64, ARMv8-A AArch64, RV64, PPC64
> > > 
> > >   +   * - xen_ulong_t
> > >   + - 32 bits
> > >   + - 32 bits
> > >   + - x86_32
> > >   +
> > >   +   * - xen_ulong_t
> > >   + - 64 bits
> > >   + - 64 bits
> > >   + - x86_64, ARMv8-A AArch64, RV64, PPC64, ARMv8-A AArch32, 
> > > ARMv8-R
> > >   +   AArch32, ARMv7-A
> > > 
> > > 
> > > We support neither ARMv8-R nor ARMv8-A Aarch32.
> > > 
> > > I could possibly accept the latter because it works to. But the former is 
> > > so far misleading.
> > 
> > Yes I think you are right. Moreover this document
> > (C-language-toolchain.rst) is meant for the Xen build. While this patch
> > is trying to document the types used in the public headers for the
> > external-facing ABI.
> > 
> > I'll move the information this patch is adding to a separate document,
> > specific to the public headers. I will only add the architectures
> > currently working: I'll add ARMv8-A Aarch32 because although it is
> > unsupported it is interesting to know the size of xen_ulong_t for
> > aarch32 in the public headers. I will remove ARMv8-R as it is not
> > available upstream.
> > 
> > Thinking a bit more. What about Armv9? Rather than listing each version, 
> > should we instead use ARMv7-A aarch32 and later, ARMv8-A aarch64 and later?
> 
> Definitely you are right here but as for Armv8-R, Armv9 is not something that 
> we explicitely support right now (even though it should work).
> 
> I am confused with the comparison. I thought you can’t boot Xen at all on 
> Armv8-R. But you can on Armv9-A as this just Armv8-A + features the software 
> don’t need to use.
> 
> Did you intend to draw the comparison with Armv8-A Aarch32?

Yes in my mind armv9 even if currently working it is not something officially 
supported so it is in the same state as armv8 aarch32.

Armv8-R currently cannot work at all so it is a different state.

Cheers
Bertrand

> 
> Cheers,
> 
> 
> 
> Cheers
> Bertrand




[linux-5.4 test] 185540: regressions - trouble: blocked/broken

2024-04-15 Thread osstest service owner
flight 185540 linux-5.4 real [real]
http://logs.test-lab.xenproject.org/osstest/logs/185540/

Regressions :-(

Tests which did not succeed and are blocking,
including tests which could not be run:
 build-amd64  broken
 build-amd64-pvopsbroken
 build-amd64-xsm  broken
 build-arm64  broken
 build-arm64-pvopsbroken
 build-arm64-xsm  broken
 build-armhf  broken
 build-armhf-pvopsbroken
 build-i386   broken
 build-i386-pvops broken
 build-i386-xsm   broken
 build-i3865 host-build-prep  fail REGR. vs. 185168
 build-armhf-pvops 5 host-build-prep  fail REGR. vs. 185168
 build-amd64-pvops 5 host-build-prep  fail REGR. vs. 185168
 build-amd64-xsm   5 host-build-prep  fail REGR. vs. 185168
 build-amd64   5 host-build-prep  fail REGR. vs. 185168
 build-i386-pvops  5 host-build-prep  fail REGR. vs. 185168
 build-i386-xsm5 host-build-prep  fail REGR. vs. 185168
 build-arm64-pvops 5 host-build-prep  fail REGR. vs. 185168
 build-arm64   5 host-build-prep  fail REGR. vs. 185168
 build-arm64-xsm   5 host-build-prep  fail REGR. vs. 185168
 build-armhf   5 host-build-prep  fail REGR. vs. 185168

Tests which did not succeed, but are not blocking:
 test-amd64-i386-xl-qemuu-win7-amd64  1 build-check(1)  blocked n/a
 test-amd64-i386-xl-qemuu-ws16-amd64  1 build-check(1)  blocked n/a
 test-amd64-i386-xl-shadow 1 build-check(1)   blocked  n/a
 test-amd64-coresched-i386-xl  1 build-check(1)   blocked  n/a
 test-amd64-coresched-amd64-xl  1 build-check(1)   blocked  n/a
 test-amd64-amd64-xl-xsm   1 build-check(1)   blocked  n/a
 test-amd64-amd64-xl-shadow1 build-check(1)   blocked  n/a
 test-amd64-amd64-xl-rtds  1 build-check(1)   blocked  n/a
 test-amd64-amd64-xl-raw   1 build-check(1)   blocked  n/a
 test-amd64-amd64-xl-qemuu-ws16-amd64  1 build-check(1) blocked n/a
 test-amd64-amd64-xl-qemuu-win7-amd64  1 build-check(1) blocked n/a
 test-amd64-amd64-xl-qemuu-ovmf-amd64  1 build-check(1) blocked n/a
 test-amd64-amd64-xl-qemuu-dmrestrict-amd64-dmrestrict 1 build-check(1) blocked 
n/a
 test-amd64-amd64-xl-qemuu-debianhvm-i386-xsm  1 build-check(1) blocked n/a
 test-amd64-amd64-xl-qemuu-debianhvm-amd64-shadow  1 build-check(1) blocked n/a
 build-amd64-libvirt   1 build-check(1)   blocked  n/a
 test-amd64-amd64-xl-qemuu-debianhvm-amd64  1 build-check(1)blocked n/a
 test-amd64-amd64-xl-qemut-ws16-amd64  1 build-check(1) blocked n/a
 build-arm64-libvirt   1 build-check(1)   blocked  n/a
 test-amd64-amd64-xl-qemut-win7-amd64  1 build-check(1) blocked n/a
 test-amd64-amd64-xl-qemut-stubdom-debianhvm-amd64-xsm 1 build-check(1) blocked 
n/a
 test-amd64-amd64-xl-qemut-debianhvm-i386-xsm  1 build-check(1) blocked n/a
 build-armhf-libvirt   1 build-check(1)   blocked  n/a
 test-amd64-amd64-xl-qemut-debianhvm-amd64  1 build-check(1)blocked n/a
 build-i386-libvirt1 build-check(1)   blocked  n/a
 test-amd64-amd64-xl-qcow2 1 build-check(1)   blocked  n/a
 test-amd64-amd64-dom0pvh-xl-amd  1 build-check(1)   blocked  n/a
 test-amd64-amd64-xl-pvshim1 build-check(1)   blocked  n/a
 test-amd64-amd64-dom0pvh-xl-intel  1 build-check(1)   blocked  n/a
 test-amd64-amd64-xl-pvhv2-intel  1 build-check(1)   blocked  n/a
 test-amd64-amd64-examine  1 build-check(1)   blocked  n/a
 test-amd64-amd64-examine-bios  1 build-check(1)   blocked  n/a
 test-amd64-amd64-examine-uefi  1 build-check(1)   blocked  n/a
 test-amd64-amd64-xl-pvhv2-amd  1 build-check(1)   blocked  n/a
 test-amd64-amd64-libvirt  1 build-check(1)   blocked  n/a
 test-amd64-amd64-libvirt-pair  1 build-check(1)   blocked  n/a
 test-amd64-amd64-xl-multivcpu  1 build-check(1)   blocked  n/a
 test-amd64-amd64-libvirt-qemuu-debianhvm-amd64-xsm 1 build-check(1) blocked n/a
 test-amd64-amd64-libvirt-vhd  1 build-check(1)   blocked  n/a
 test-amd64-amd64-xl-credit2   1 build-check(1)   blocked  n/a
 test-amd64-amd64-libvirt-xsm  1 build-check(1)   blocked  n/a
 test-amd64-amd64-pair 1 build-check(1)