Re: [PATCH v4 01/11] ppc: Add Power11 DD2.0 processor

2024-05-30 Thread Aditya Gupta
Hello Harsh,

On Thu, May 30, 2024 at 10:57:31AM GMT, Harsh Prateek Bora wrote:
> Hi Aditya,
> 
> On 5/28/24 12:35, Aditya Gupta wrote:
> > Add CPU target code to add support for new Power11 Processor.
> > 
> > Power11 core is same as Power10, hence reuse functions defined for
> > Power10.
> > 
> > Cc: Cédric Le Goater 
> > Cc: Daniel Henrique Barboza 
> > Cc: Frédéric Barrat 
> > Cc: Mahesh J Salgaonkar 
> > Cc: Madhavan Srinivasan 
> > Cc: Nicholas Piggin 
> > Signed-off-by: Aditya Gupta 
> > ---
> >   target/ppc/compat.c |   7 +++
> >   target/ppc/cpu-models.c |   3 ++
> >   target/ppc/cpu-models.h |   3 ++
> >   target/ppc/cpu_init.c   | 102 
> >   4 files changed, 115 insertions(+)
> > 
> > diff --git a/target/ppc/compat.c b/target/ppc/compat.c
> > index ebef2cccecf3..12dd8ae290ca 100644
> > --- a/target/ppc/compat.c
> > +++ b/target/ppc/compat.c
> > @@ -100,6 +100,13 @@ static const CompatInfo compat_table[] = {
> >   .pcr_level = PCR_COMPAT_3_10,
> >   .max_vthreads = 8,
> >   },
> > +{ /* POWER11, ISA3.10 */
> > +.name = "power11",
> > +.pvr = CPU_POWERPC_LOGICAL_3_10_PLUS,
> > +.pcr = PCR_COMPAT_3_10,
> > +.pcr_level = PCR_COMPAT_3_10,
> > +.max_vthreads = 8,
> > +},
> >   };
> >   static const CompatInfo *compat_by_pvr(uint32_t pvr)
> > diff --git a/target/ppc/cpu-models.c b/target/ppc/cpu-models.c
> > index f2301b43f78b..ece348178188 100644
> > --- a/target/ppc/cpu-models.c
> > +++ b/target/ppc/cpu-models.c
> > @@ -734,6 +734,8 @@
> >   "POWER9 v2.2")
> >   POWERPC_DEF("power10_v2.0",  CPU_POWERPC_POWER10_DD20,   
> > POWER10,
> >   "POWER10 v2.0")
> > +POWERPC_DEF("power11_v2.0",  CPU_POWERPC_POWER11_DD20,   
> > POWER11,
> > +"POWER11_v2.0")
> >   #endif /* defined (TARGET_PPC64) */
> >   
> > /***/
> > @@ -909,6 +911,7 @@ PowerPCCPUAlias ppc_cpu_aliases[] = {
> >   { "power8nvl", "power8nvl_v1.0" },
> >   { "power9", "power9_v2.2" },
> >   { "power10", "power10_v2.0" },
> > +{ "power11", "power11_v2.0" },
> >   #endif
> >   /* Generic PowerPCs */
> > diff --git a/target/ppc/cpu-models.h b/target/ppc/cpu-models.h
> > index 0229ef3a9a5c..ef74e387b047 100644
> > --- a/target/ppc/cpu-models.h
> > +++ b/target/ppc/cpu-models.h
> > @@ -354,6 +354,8 @@ enum {
> >   CPU_POWERPC_POWER10_BASE   = 0x0080,
> >   CPU_POWERPC_POWER10_DD1= 0x00801100,
> >   CPU_POWERPC_POWER10_DD20   = 0x00801200,
> > +CPU_POWERPC_POWER11_BASE   = 0x0082,
> > +CPU_POWERPC_POWER11_DD20   = 0x00821200,
> >   CPU_POWERPC_970_v22= 0x00390202,
> >   CPU_POWERPC_970FX_v10  = 0x00391100,
> >   CPU_POWERPC_970FX_v20  = 0x003C0200,
> > @@ -391,6 +393,7 @@ enum {
> >   CPU_POWERPC_LOGICAL_2_07   = 0x0F04,
> >   CPU_POWERPC_LOGICAL_3_00   = 0x0F05,
> >   CPU_POWERPC_LOGICAL_3_10   = 0x0F06,
> > +CPU_POWERPC_LOGICAL_3_10_PLUS  = 0x0F07,
> >   };
> >   /* System version register (used on MPC 8xxx) 
> >*/
> > diff --git a/target/ppc/cpu_init.c b/target/ppc/cpu_init.c
> > index 01e358a4a5ac..82d700382cdd 100644
> > --- a/target/ppc/cpu_init.c
> > +++ b/target/ppc/cpu_init.c
> > @@ -6763,6 +6763,108 @@ POWERPC_FAMILY(POWER10)(ObjectClass *oc, void *data)
> >   pcc->l1_icache_size = 0x8000;
> >   }
> > +static bool ppc_pvr_match_power11(PowerPCCPUClass *pcc, uint32_t pvr, bool 
> > best)
> > +{
> > +uint32_t base = pvr & CPU_POWERPC_POWER_SERVER_MASK;
> > +uint32_t pcc_base = pcc->pvr & CPU_POWERPC_POWER_SERVER_MASK;
> > +
> > +if (!best && (base == CPU_POWERPC_POWER11_BASE)) {
> > +return true;
> > +}
> > +
> > +if (base != pcc_base) {
> > +return false;
> > +}
> > +
> > +if ((pvr & 0x0f00) == (pcc->pvr & 0x0f00)) {
> > +return true;
> > +}
> > +
> > +return false;
> > +}
> > +
> > +POWERPC_FAMILY(POWER11)(ObjectClass *oc,

Re: [PATCH v4 05/11] ppc/pnv: Add a Power11 Pnv11Chip, and a Power11 Machine

2024-05-30 Thread Aditya Gupta
Hello Cedric,

Thanks for your reviews.

On Tue, May 28, 2024 at 09:40:12AM GMT, Cédric Le Goater wrote:
> Hello Aditya
> 
> On 5/28/24 09:05, Aditya Gupta wrote:
> > Power11 core is same as Power10, use the existing functionalities to
> > introduce a Power11 chip and machine, with Power10 chip as parent of
> > Power11 chip, thus going through similar class_init paths
> 
> This patch should come last, after all the POWER11 processor sub-unit
> models (HOMER, OCC, LPC) are implemented. Also the POWER11 chip model
> lacks an instance_init() handler initializing the chip children to the
> correct POWER11 types.
> 
> AFAICT, power11-pnv-chip is still using power10 types.

Sure, I will move this patch to after all subunit patches.
Thanks for the 'instance_init' advice, yes, seems the homer and
everything else will be the power10 ones.

> 
> More below,
> 
> > 
> > Cc: Cédric Le Goater 
> > Cc: Frédéric Barrat 
> > Cc: Mahesh J Salgaonkar 
> > Cc: Madhavan Srinivasan 
> > Cc: Nicholas Piggin 
> > Signed-off-by: Aditya Gupta 
> > ---
> >   docs/system/ppc/powernv.rst |   9 +--
> >   hw/ppc/pnv.c| 120 ++--
> >   hw/ppc/pnv_core.c   |  11 
> >   include/hw/ppc/pnv.h|   5 ++
> >   include/hw/ppc/pnv_chip.h   |   7 +++
> >   include/hw/ppc/pnv_core.h   |   1 +
> >   6 files changed, 145 insertions(+), 8 deletions(-)
> > 
> > diff --git a/docs/system/ppc/powernv.rst b/docs/system/ppc/powernv.rst
> > index 09f39658587d..65606aa767aa 100644
> > --- a/docs/system/ppc/powernv.rst
> > +++ b/docs/system/ppc/powernv.rst
> > @@ -1,5 +1,5 @@
> > -PowerNV family boards (``powernv8``, ``powernv9``, ``powernv10``)
> > -==
> > +PowerNV family boards (``powernv8``, ``powernv9``, ``powernv10``, 
> > ``powernv11``)
> > +
> >   PowerNV (as Non-Virtualized) is the "bare metal" platform using the
> >   OPAL firmware. It runs Linux on IBM and OpenPOWER systems and it can
> > @@ -15,11 +15,12 @@ beyond the scope of what QEMU addresses today.
> >   Supported devices
> >   -
> > - * Multi processor support for POWER8, POWER8NVL and POWER9.
> > + * Multi processor support for POWER8, POWER8NVL, POWER9, Power10 and 
> > Power11.
> >* XSCOM, serial communication sideband bus to configure chiplets.
> >* Simple LPC Controller.
> >* Processor Service Interface (PSI) Controller.
> > - * Interrupt Controller, XICS (POWER8) and XIVE (POWER9) and XIVE2 
> > (Power10).
> > + * Interrupt Controller, XICS (POWER8) and XIVE (POWER9) and XIVE2 
> > (Power10 &
> > +   Power11).
> >* POWER8 PHB3 PCIe Host bridge and POWER9 PHB4 PCIe Host bridge.
> >* Simple OCC is an on-chip micro-controller used for power management 
> > tasks.
> >* iBT device to handle BMC communication, with the internal BMC simulator
> > diff --git a/hw/ppc/pnv.c b/hw/ppc/pnv.c
> > index 6e3a5ccdec76..f8270f4b123b 100644
> > --- a/hw/ppc/pnv.c
> > +++ b/hw/ppc/pnv.c
> > @@ -456,6 +456,33 @@ static void pnv_chip_power10_dt_populate(PnvChip 
> > *chip, void *fdt)
> >   pnv_dt_lpc(chip, fdt, 0, PNV10_LPCM_BASE(chip), PNV10_LPCM_SIZE);
> >   }
> > +static void pnv_chip_power11_dt_populate(PnvChip *chip, void *fdt)
> > +{
> > +static const char compat[] = "ibm,power11-xscom\0ibm,xscom";
> > +int i;
> > +
> > +pnv_dt_xscom(chip, fdt, 0,
> > + cpu_to_be64(PNV10_XSCOM_BASE(chip)),
> > + cpu_to_be64(PNV10_XSCOM_SIZE),
> 
> I wonder if we should not duplicate the PNV10 macros in PNV11. It's minor.

I can. Will do.

> 
> > + compat, sizeof(compat));
> > +
> > +for (i = 0; i < chip->nr_cores; i++) {
> > +PnvCore *pnv_core = chip->cores[i];
> > +int offset;
> > +
> > +offset = pnv_dt_core(chip, pnv_core, fdt);
> > +
> > +_FDT((fdt_setprop(fdt, offset, "ibm,pa-features",
> > +   pa_features_31, sizeof(pa_features_31;
> > +}
> > +
> > +if (chip->ram_size) {
> > +pnv_dt_memory(fdt, chip->chip_id, chip->ram_start, chip->ram_size);
> > +}
> > +
> > +pnv_dt_lpc(chip, fdt, 0, PNV10_LPCM_BASE(chip), PNV10_LPCM_SIZE);
> 
> ditto

Will create new defines for these.

> 
> > +}
> > +
> >   static void

Re: [PATCH v4 11/11] ppc/pnv: Update skiboot.lid to support Power11

2024-05-30 Thread Aditya Gupta
Hello Cedric,

On Tue, May 28, 2024 at 09:15:29AM GMT, Cédric Le Goater wrote:
> On 5/28/24 09:05, Aditya Gupta wrote:
> > Skiboot/OPAL patches are in discussion upstream [1], with corresponding
> > commits in github repository [2].
> > 
> > Update skiboot.lid, with binary built from 'upstream_power11' branch
> > of skiboot repository with Power11 enablement patches [2].
> > 
> > ---
> > This patch can be skipped for now, if need to wait for patches to be
> > merged in open-power/skiboot. Have updated the skiboot.lid to aid in
> > testing this patch series.
> 
> When is the merge in skiboot planned ? QEMU 9.1 freeze is in ~2 months.

I have asked, will let you know when I get the expected time.

> > [1]:https://lists.ozlabs.org/pipermail/skiboot/2024-April/018963.html
> > [2]:https://github.com/maheshsal/skiboot.
> > 
> > Cc: Cédric Le Goater
> > Cc: Joel Stanley
> > Cc: Mahesh J Salgaonkar
> > Cc: Madhavan Srinivasan
> > Cc: Nicholas Piggin
> > Signed-off-by: Aditya Gupta
> > ---
> >   pc-bios/skiboot.lid | Bin 2527328 -> 2527328 bytes
> 
> Please don't resend. This is big !

Oh okay. Sure.

Thanks,
Aditya Gupta

> 
> Thanks,
> 
> C.
> 
> 
> 
> 



[Crash-utility] Re: [Crash-Utility][PATCH v2 06/13] Fix gdb_interface: restore gdb's output streams at end of gdb_interface

2024-05-30 Thread Aditya Gupta

Hi Tao,


Just a ping, can you post the next series ?


Thanks,

Aditya Gupta


On 19/05/24 16:23, Aditya Gupta wrote:

Hello Tao,



Will continue with testing unwinding with vmcores.


It works for me on both x86 and ppc64le !


Thanks,

Aditya Gupta




Thanks,

Aditya Gupta



--
Crash-utility mailing list -- devel@lists.crash-utility.osci.io
To unsubscribe send an email to devel-le...@lists.crash-utility.osci.io
https://${domain_name}/admin/lists/devel.lists.crash-utility.osci.io/
Contribution Guidelines: https://github.com/crash-utility/crash/wiki


Re: [PATCH 1/3] kexec_load: Use new kexec flag for hotplug support

2024-05-30 Thread Aditya Gupta

Hello sourabh,


On 29/05/24 18:43, Sourabh Jain wrote:

Hello Aditya,


On 28/05/24 17:03, Aditya Gupta wrote:



diff --git a/kexec/arch/arm/kexec-arm.c b/kexec/arch/arm/kexec-arm.c
index 49f35b1..34531f9 100644
--- a/kexec/arch/arm/kexec-arm.c
+++ b/kexec/arch/arm/kexec-arm.c
@@ -148,3 +148,8 @@ int have_sysfs_fdt(void)
  {
  return !access(SYSFS_FDT, F_OK);
  }
+
+int arch_do_exclude_segment(struct kexec_segment *UNUSED(seg_ptr), 
struct kexec_info *UNUSED(info))

+{
+    return 0;
+}
diff --git a/kexec/arch/arm64/kexec-arm64.c 
b/kexec/arch/arm64/kexec-arm64.c

index 4a67b0d..9d052b0 100644
--- a/kexec/arch/arm64/kexec-arm64.c
+++ b/kexec/arch/arm64/kexec-arm64.c
@@ -1363,3 +1363,7 @@ void arch_reuse_initrd(void)
  void arch_update_purgatory(struct kexec_info *UNUSED(info))
  {
  }
+int arch_do_exclude_segment(struct kexec_segment *UNUSED(seg_ptr), 
struct kexec_info *UNUSED(info))

+{
+    return 0;
+}
diff --git a/kexec/arch/cris/kexec-cris.c 
b/kexec/arch/cris/kexec-cris.c

index 3b69709..7f09121 100644
--- a/kexec/arch/cris/kexec-cris.c
+++ b/kexec/arch/cris/kexec-cris.c
@@ -109,3 +109,7 @@ unsigned long add_buffer(struct kexec_info 
*info, const void *buf,

  buf_min, buf_max, buf_end, 1);
  }
  +int arch_do_exclude_segment(struct kexec_segment 
*UNUSED(seg_ptr), struct kexec_info *UNUSED(info))

+{
+    return 0;
+}
diff --git a/kexec/arch/hppa/kexec-hppa.c 
b/kexec/arch/hppa/kexec-hppa.c

index 77c9739..a64dc3d 100644
--- a/kexec/arch/hppa/kexec-hppa.c
+++ b/kexec/arch/hppa/kexec-hppa.c
@@ -146,3 +146,8 @@ unsigned long virt_to_phys(unsigned long addr)
  {
  return addr - phys_offset;
  }
+
+int arch_do_exclude_segment(struct kexec_segment *UNUSED(seg_ptr), 
struct kexec_info *UNUSED(info))

+{
+    return 0;
+}
diff --git a/kexec/arch/i386/kexec-x86.c b/kexec/arch/i386/kexec-x86.c
index 444cb69..b4947a0 100644
--- a/kexec/arch/i386/kexec-x86.c
+++ b/kexec/arch/i386/kexec-x86.c
@@ -208,3 +208,11 @@ void arch_update_purgatory(struct kexec_info 
*info)

  elf_rel_set_symbol(>rhdr, "panic_kernel",
  _kernel, sizeof(panic_kernel));
  }
+
+int arch_do_exclude_segment(struct kexec_segment *seg_ptr, struct 
kexec_info *info)

+{
+    if (info->elfcorehdr == (unsigned long) seg_ptr->mem)
+    return 1;
+
+    return 0;
+}
diff --git a/kexec/arch/ia64/kexec-ia64.c 
b/kexec/arch/ia64/kexec-ia64.c

index 418d997..8d9c1f3 100644
--- a/kexec/arch/ia64/kexec-ia64.c
+++ b/kexec/arch/ia64/kexec-ia64.c
@@ -245,3 +245,7 @@ void arch_update_purgatory(struct kexec_info 
*UNUSED(info))

  {
  }
  +int arch_do_exclude_segment(struct kexec_segment 
*UNUSED(seg_ptr), struct kexec_info *UNUSED(info))

+{
+    return 0;
+}
diff --git a/kexec/arch/loongarch/kexec-loongarch.c 
b/kexec/arch/loongarch/kexec-loongarch.c

index 32a42d2..9a50ff6 100644
--- a/kexec/arch/loongarch/kexec-loongarch.c
+++ b/kexec/arch/loongarch/kexec-loongarch.c
@@ -378,3 +378,8 @@ unsigned long add_buffer(struct kexec_info 
*info, const void *buf,

  return add_buffer_phys_virt(info, buf, bufsz, memsz, buf_align,
  buf_min, buf_max, buf_end, 1);
  }
+
+int arch_do_exclude_segment(struct kexec_segment *UNUSED(seg_ptr), 
struct kexec_info *UNUSED(info))

+{
+    return 0;
+}
diff --git a/kexec/arch/m68k/kexec-m68k.c 
b/kexec/arch/m68k/kexec-m68k.c

index cb54927..0c7dbaf 100644
--- a/kexec/arch/m68k/kexec-m68k.c
+++ b/kexec/arch/m68k/kexec-m68k.c
@@ -108,3 +108,8 @@ void add_segment(struct kexec_info *info, const 
void *buf, size_t bufsz,

  {
  add_segment_phys_virt(info, buf, bufsz, base, memsz, 1);
  }
+
+int arch_do_exclude_segment(struct kexec_segment *UNUSED(seg_ptr), 
struct kexec_info *UNUSED(info))

+{
+    return 0;
+}
diff --git a/kexec/arch/mips/kexec-mips.c 
b/kexec/arch/mips/kexec-mips.c

index d8cbea8..94224ee 100644
--- a/kexec/arch/mips/kexec-mips.c
+++ b/kexec/arch/mips/kexec-mips.c
@@ -189,3 +189,7 @@ unsigned long add_buffer(struct kexec_info 
*info, const void *buf,

  buf_min, buf_max, buf_end, 1);
  }
  +int arch_do_exclude_segment(const void *UNUSED(seg_ptr), struct 
kexec_info *UNUSED(info))

+{
+    return 0;
+}
diff --git a/kexec/arch/ppc/kexec-ppc.c b/kexec/arch/ppc/kexec-ppc.c
index 03bec36..c8af870 100644
--- a/kexec/arch/ppc/kexec-ppc.c
+++ b/kexec/arch/ppc/kexec-ppc.c
@@ -966,3 +966,7 @@ void arch_update_purgatory(struct kexec_info 
*UNUSED(info))

  {
  }
  +int arch_do_exclude_segment(struct kexec_segment 
*UNUSED(seg_ptr), struct kexec_info *UNUSED(info))

+{
+    return 0;
+}
diff --git a/kexec/arch/ppc64/kexec-ppc64.c 
b/kexec/arch/ppc64/kexec-ppc64.c

index bd5274c..fb27b6b 100644
--- a/kexec/arch/ppc64/kexec-ppc64.c
+++ b/kexec/arch/ppc64/kexec-ppc64.c
@@ -967,3 +967,8 @@ int arch_compat_trampoline(struct kexec_info 
*UNUSED(info))

  void arch_update_purgatory(struct kexec_info *UNUSED(info))
  {
  }
+
+int arch_do_exclude_segment(struct kexec_segment *UNUSED(seg_ptr), 
struct kexe

[webkit-changes] [WebKit/WebKit] 11d3a4: REGRESSION (macOS 14): Form controls draw with an ...

2024-05-29 Thread Aditya Keerthi
  Branch: refs/heads/main
  Home:   https://github.com/WebKit/WebKit
  Commit: 11d3a4ba119c7cfc3f217a115225a2044bea4d44
  
https://github.com/WebKit/WebKit/commit/11d3a4ba119c7cfc3f217a115225a2044bea4d44
  Author: Aditya Keerthi 
  Date:   2024-05-29 (Wed, 29 May 2024)

  Changed paths:
M 
LayoutTests/fast/forms/select/mac-wk2/inactive-appearance-expected-mismatch.html
M LayoutTests/fast/forms/select/mac-wk2/inactive-appearance.html
M LayoutTests/platform/mac-wk2/TestExpectations
M Source/WTF/wtf/PlatformUse.h
M Source/WebCore/PAL/pal/spi/mac/NSCellSPI.h
M Source/WebCore/platform/graphics/mac/controls/ControlMac.mm

  Log Message:
  ---
  REGRESSION (macOS 14): Form controls draw with an active appearance when the 
window is inactive
https://bugs.webkit.org/show_bug.cgi?id=273588
rdar://127391198

Reviewed by Abrar Rahman Protyasha.

Prior to GPU process support on macOS, inactive form controls were drawn by
overriding the return value of `hasKeyAppearance` on the backing window as
necessary. However, with the introduction of GPU process, `NSCell`s are no 
longer
backed by a control view, and do not have a window. Consequently, they are
always drawn with an active appearance.

This is not an issue in configurations where GPU process is disabled, as the
control view path still exists.

Fix by adopting AppKit SPI to specify the presentation state of `NSCell`s that
are not backed by control views.

This regression was previously missed as the regression test responsible for the
behavior was broken until 278267@main.

* 
LayoutTests/fast/forms/select/mac-wk2/inactive-appearance-expected-mismatch.html:
* LayoutTests/fast/forms/select/mac-wk2/inactive-appearance.html:

Adjust the test to use `testRunner.setWindowIsKey` rather than
`internals.setPageIsFocusedAndActive`. The latter results in flakiness, as
an activity state update can come after the override, but before taking the
snapshot, invalidating the test result.

Also, use `runSingly` to ensure window key-state is reset, to avoid flakiness.

* LayoutTests/platform/mac-wk2/TestExpectations:

Mark the test as passing.

* Source/WTF/wtf/PlatformUse.h:

The necessary SPI is unavailable on macOS 13. The behavior will work on macOS
13 since cells are still control-view-backed there.

This is part of the build fix on top of 279420@main.

* Source/WebCore/PAL/pal/spi/mac/NSCellSPI.h:
* Source/WebCore/platform/graphics/mac/controls/ControlMac.mm:
(WebCore::applyViewlessCellSettings):

Use `-[NSCell _setFallbackBezelPresentationState:]` to set an appropriate 
presentation
state, matching the window's active state. Note that only the 
`NSPresentationStateActiveKey`
and `NSPresentationStateInactive` are used, matching the control view path.

Canonical link: https://commits.webkit.org/279458@main



To unsubscribe from these emails, change your notification settings at 
https://github.com/WebKit/WebKit/settings/notifications
___
webkit-changes mailing list
webkit-changes@lists.webkit.org
https://lists.webkit.org/mailman/listinfo/webkit-changes


[PATCH v5] Drivers: hv: Cosmetic changes for hv.c and balloon.c

2024-05-29 Thread Aditya Nagesh
Fix issues reported by checkpatch.pl script in hv.c and
balloon.c
 - Remove unnecessary parentheses
 - Remove extra newlines
 - Remove extra spaces
 - Add spaces between comparison operators
 - Remove comparison with NULL in if statements

No functional changes intended

Signed-off-by: Aditya Nagesh 
Reviewed-by: Saurabh Sengar 
---
[V5]
Rebase to hyperv-fixes

[V4]
Fix Alignment issue and revert a line since 100 characters are allowed in a line

[V3]
Fix alignment issues in multiline function parameters.

[V2]
Change Subject from "Drivers: hv: Fix Issues reported by checkpatch.pl script"
 to "Drivers: hv: Cosmetic changes for hv.c and balloon.c"
 drivers/hv/hv.c |  37 +++---
 drivers/hv/hv_balloon.c | 105 ++--
 2 files changed, 53 insertions(+), 89 deletions(-)

diff --git a/drivers/hv/hv.c b/drivers/hv/hv.c
index a8ad728354cb..e0d676c74f14 100644
--- a/drivers/hv/hv.c
+++ b/drivers/hv/hv.c
@@ -45,8 +45,8 @@ int hv_init(void)
  * This involves a hypercall.
  */
 int hv_post_message(union hv_connection_id connection_id,
- enum hv_message_type message_type,
- void *payload, size_t payload_size)
+   enum hv_message_type message_type,
+   void *payload, size_t payload_size)
 {
struct hv_input_post_message *aligned_msg;
unsigned long flags;
@@ -86,7 +86,7 @@ int hv_post_message(union hv_connection_id connection_id,
status = HV_STATUS_INVALID_PARAMETER;
} else {
status = hv_do_hypercall(HVCALL_POST_MESSAGE,
-   aligned_msg, NULL);
+aligned_msg, NULL);
}
 
local_irq_restore(flags);
@@ -111,7 +111,7 @@ int hv_synic_alloc(void)
 
hv_context.hv_numa_map = kcalloc(nr_node_ids, sizeof(struct cpumask),
 GFP_KERNEL);
-   if (hv_context.hv_numa_map == NULL) {
+   if (!hv_context.hv_numa_map) {
pr_err("Unable to allocate NUMA map\n");
goto err;
}
@@ -120,11 +120,11 @@ int hv_synic_alloc(void)
hv_cpu = per_cpu_ptr(hv_context.cpu_context, cpu);
 
tasklet_init(_cpu->msg_dpc,
-vmbus_on_msg_dpc, (unsigned long) hv_cpu);
+vmbus_on_msg_dpc, (unsigned long)hv_cpu);
 
if (ms_hyperv.paravisor_present && hv_isolation_type_tdx()) {
hv_cpu->post_msg_page = (void 
*)get_zeroed_page(GFP_ATOMIC);
-   if (hv_cpu->post_msg_page == NULL) {
+   if (!hv_cpu->post_msg_page) {
pr_err("Unable to allocate post msg page\n");
goto err;
}
@@ -147,14 +147,14 @@ int hv_synic_alloc(void)
if (!ms_hyperv.paravisor_present && !hv_root_partition) {
hv_cpu->synic_message_page =
(void *)get_zeroed_page(GFP_ATOMIC);
-   if (hv_cpu->synic_message_page == NULL) {
+   if (!hv_cpu->synic_message_page) {
pr_err("Unable to allocate SYNIC message 
page\n");
goto err;
}
 
hv_cpu->synic_event_page =
(void *)get_zeroed_page(GFP_ATOMIC);
-   if (hv_cpu->synic_event_page == NULL) {
+   if (!hv_cpu->synic_event_page) {
pr_err("Unable to allocate SYNIC event page\n");
 
free_page((unsigned 
long)hv_cpu->synic_message_page);
@@ -203,14 +203,13 @@ int hv_synic_alloc(void)
return ret;
 }
 
-
 void hv_synic_free(void)
 {
int cpu, ret;
 
for_each_present_cpu(cpu) {
-   struct hv_per_cpu_context *hv_cpu
-   = per_cpu_ptr(hv_context.cpu_context, cpu);
+   struct hv_per_cpu_context *hv_cpu =
+   per_cpu_ptr(hv_context.cpu_context, cpu);
 
/* It's better to leak the page if the encryption fails. */
if (ms_hyperv.paravisor_present && hv_isolation_type_tdx()) {
@@ -262,8 +261,8 @@ void hv_synic_free(void)
  */
 void hv_synic_enable_regs(unsigned int cpu)
 {
-   struct hv_per_cpu_context *hv_cpu
-   = per_cpu_ptr(hv_context.cpu_context, cpu);
+   struct hv_per_cpu_context *hv_cpu =
+   per_cpu_ptr(hv_context.cpu_context, cpu);
union hv_synic_simp simp;
union hv_synic_siefp siefp;
union hv_synic_sint shared_sint;
@@ -277,8 +276,8 @@ void hv_synic_enable_regs(unsigned int cpu)
/* Mas

[webkit-changes] [WebKit/WebKit] 1cf2af: REGRESSION (macOS 14): Form controls draw with an ...

2024-05-28 Thread Aditya Keerthi
  Branch: refs/heads/main
  Home:   https://github.com/WebKit/WebKit
  Commit: 1cf2af72f97ef4de30a5d7edad747d3360dece65
  
https://github.com/WebKit/WebKit/commit/1cf2af72f97ef4de30a5d7edad747d3360dece65
  Author: Aditya Keerthi 
  Date:   2024-05-28 (Tue, 28 May 2024)

  Changed paths:
M 
LayoutTests/fast/forms/select/mac-wk2/inactive-appearance-expected-mismatch.html
M LayoutTests/fast/forms/select/mac-wk2/inactive-appearance.html
M LayoutTests/platform/mac-wk2/TestExpectations
M Source/WebCore/PAL/pal/spi/mac/NSCellSPI.h
M Source/WebCore/platform/graphics/mac/controls/ControlMac.mm

  Log Message:
  ---
  REGRESSION (macOS 14): Form controls draw with an active appearance when the 
window is inactive
https://bugs.webkit.org/show_bug.cgi?id=273588
rdar://127391198

Reviewed by Richard Robinson.

Prior to GPU process support on macOS, inactive form controls were drawn by
overriding the return value of `hasKeyAppearance` on the backing window as
necessary. However, with the introduction of GPU process, `NSCell`s are no 
longer
backed by a control view, and do not have a window. Consequently, they are
always drawn with an active appearance.

This is not an issue in configurations where GPU process is disabled, as the
control view path still exists.

Fix by adopting AppKit SPI to specify the presentation state of `NSCell`s that
are not backed by control views.

This regression was previously missed as the regression test responsible for the
behavior was broken until 278267@main.

* 
LayoutTests/fast/forms/select/mac-wk2/inactive-appearance-expected-mismatch.html:
* LayoutTests/fast/forms/select/mac-wk2/inactive-appearance.html:

Adjust the test to use `testRunner.setWindowIsKey` rather than
`internals.setPageIsFocusedAndActive`. The latter results in flakiness, as
an activity state update can come after the override, but before taking the
snapshot, invalidating the test result.

Also, use `runSingly` to ensure window key-state is reset, to avoid flakiness.

* LayoutTests/platform/mac-wk2/TestExpectations:

Mark the test as passing.

* Source/WebCore/PAL/pal/spi/mac/NSCellSPI.h:
* Source/WebCore/platform/graphics/mac/controls/ControlMac.mm:
(WebCore::applyViewlessCellSettings):

Use `-[NSCell _setFallbackBezelPresentationState:]` to set an appropriate 
presentation
state, matching the window's active state. Note that only the 
`NSPresentationStateActiveKey`
and `NSPresentationStateInactive` are used, matching the control view path.

Canonical link: https://commits.webkit.org/279420@main



To unsubscribe from these emails, change your notification settings at 
https://github.com/WebKit/WebKit/settings/notifications
___
webkit-changes mailing list
webkit-changes@lists.webkit.org
https://lists.webkit.org/mailman/listinfo/webkit-changes


[NTG-context] Re: BibTeX choking on comments in database

2024-05-28 Thread Aditya Mahajan
On Tue, 28 May 2024, Kip Warner wrote:

> On Tue, 2024-05-28 at 08:05 +0200, Henning Hraban Ramm wrote:
> > According to the documentation, everything outside of entries is 
> > considered a comment. Inside of entries, there can’t be comments.
> 
> But in this case, is it not warning about text outside of an entry that
> should be treated as a comment?

Hard to say without looking at the bib file, but % is not a comment character 
in bibtex. So, if your file starts with

% @article{key,
% title = {...},
% }

you will get an error from the bib parser.

If you want to comment out an entry, the simplest way is to remove the @. So,

article{key,
  title={...},
}

is a comment (since it is outside the entry). 

Aditya___
If your question is of interest to others as well, please add an entry to the 
Wiki!

maillist : ntg-context@ntg.nl / 
https://mailman.ntg.nl/mailman3/lists/ntg-context.ntg.nl
webpage  : https://www.pragma-ade.nl / https://context.aanhet.net (mirror)
archive  : https://github.com/contextgarden/context
wiki : https://wiki.contextgarden.net
___


Re: [PATCH 1/3] kexec_load: Use new kexec flag for hotplug support

2024-05-28 Thread Aditya Gupta
Hello sourabh,

On Wed, May 22, 2024 at 06:43:51PM GMT, Sourabh Jain wrote:
> Kernel commit 79365026f869 (crash: add a new kexec flag for hotplug
> support) has introduced a new kexec flag to generalize hotplug support.
> The newly introduced kexec flags for hotplug allow architectures to
> exclude all the required kexec segments from SHA calculation so that
> the kernel can update them on hotplug events. This was not possible
> earlier with the KEXEC_UPDATE_ELFCOREHDR kexec flags since it was added
> only for the elfcorehdr segment.
> 
> To enable architectures to control the list of kexec segments to exclude
> when hotplug support is enabled, add a new architecture-specific
> function named arch_do_exclude_segment. During the SHA calculation, this
> function gets called to let the architecture decide whether a specific
> kexec segment should be considered for SHA calculation or not.
> 
> Given that the KEXEC_UPDATE_ELFCOREHDR is no longer required and was
> colliding with the KEXEC_LIVE_UPDATE update flag, it is removed.
> 
> Cc: Aditya Gupta 
> Cc: Baoquan He 
> Cc: Coiby Xu 
> Cc: Hari Bathini 
> Cc: Mahesh Salgaonkar 
> Signed-off-by: Sourabh Jain 
> ---
>  kexec/arch/arm/kexec-arm.c |  5 +
>  kexec/arch/arm64/kexec-arm64.c |  4 
>  kexec/arch/cris/kexec-cris.c   |  4 
>  kexec/arch/hppa/kexec-hppa.c   |  5 +
>  kexec/arch/i386/kexec-x86.c|  8 
>  kexec/arch/ia64/kexec-ia64.c   |  4 
>  kexec/arch/loongarch/kexec-loongarch.c |  5 +
>  kexec/arch/m68k/kexec-m68k.c   |  5 +
>  kexec/arch/mips/kexec-mips.c   |  4 
>  kexec/arch/ppc/kexec-ppc.c |  4 
>  kexec/arch/ppc64/kexec-ppc64.c |  5 +
>  kexec/arch/s390/kexec-s390.c   |  5 +
>  kexec/arch/sh/kexec-sh.c   |  5 +
>  kexec/arch/x86_64/kexec-x86_64.c   |  5 +
>  kexec/kexec-syscall.h  |  2 +-
>  kexec/kexec.c  | 14 --
>  kexec/kexec.h  |  2 ++
>  17 files changed, 79 insertions(+), 7 deletions(-)
> 
> diff --git a/kexec/arch/arm/kexec-arm.c b/kexec/arch/arm/kexec-arm.c
> index 49f35b1..34531f9 100644
> --- a/kexec/arch/arm/kexec-arm.c
> +++ b/kexec/arch/arm/kexec-arm.c
> @@ -148,3 +148,8 @@ int have_sysfs_fdt(void)
>  {
>   return !access(SYSFS_FDT, F_OK);
>  }
> +
> +int arch_do_exclude_segment(struct kexec_segment *UNUSED(seg_ptr), struct 
> kexec_info *UNUSED(info))
> +{
> + return 0;
> +}
> diff --git a/kexec/arch/arm64/kexec-arm64.c b/kexec/arch/arm64/kexec-arm64.c
> index 4a67b0d..9d052b0 100644
> --- a/kexec/arch/arm64/kexec-arm64.c
> +++ b/kexec/arch/arm64/kexec-arm64.c
> @@ -1363,3 +1363,7 @@ void arch_reuse_initrd(void)
>  void arch_update_purgatory(struct kexec_info *UNUSED(info))
>  {
>  }
> +int arch_do_exclude_segment(struct kexec_segment *UNUSED(seg_ptr), struct 
> kexec_info *UNUSED(info))
> +{
> + return 0;
> +}
> diff --git a/kexec/arch/cris/kexec-cris.c b/kexec/arch/cris/kexec-cris.c
> index 3b69709..7f09121 100644
> --- a/kexec/arch/cris/kexec-cris.c
> +++ b/kexec/arch/cris/kexec-cris.c
> @@ -109,3 +109,7 @@ unsigned long add_buffer(struct kexec_info *info, const 
> void *buf,
>  buf_min, buf_max, buf_end, 1);
>  }
>  
> +int arch_do_exclude_segment(struct kexec_segment *UNUSED(seg_ptr), struct 
> kexec_info *UNUSED(info))
> +{
> + return 0;
> +}
> diff --git a/kexec/arch/hppa/kexec-hppa.c b/kexec/arch/hppa/kexec-hppa.c
> index 77c9739..a64dc3d 100644
> --- a/kexec/arch/hppa/kexec-hppa.c
> +++ b/kexec/arch/hppa/kexec-hppa.c
> @@ -146,3 +146,8 @@ unsigned long virt_to_phys(unsigned long addr)
>  {
>   return addr - phys_offset;
>  }
> +
> +int arch_do_exclude_segment(struct kexec_segment *UNUSED(seg_ptr), struct 
> kexec_info *UNUSED(info))
> +{
> + return 0;
> +}
> diff --git a/kexec/arch/i386/kexec-x86.c b/kexec/arch/i386/kexec-x86.c
> index 444cb69..b4947a0 100644
> --- a/kexec/arch/i386/kexec-x86.c
> +++ b/kexec/arch/i386/kexec-x86.c
> @@ -208,3 +208,11 @@ void arch_update_purgatory(struct kexec_info *info)
>   elf_rel_set_symbol(>rhdr, "panic_kernel",
>   _kernel, sizeof(panic_kernel));
>  }
> +
> +int arch_do_exclude_segment(struct kexec_segment *seg_ptr, struct kexec_info 
> *info)
> +{
> + if (info->elfcorehdr == (unsigned long) seg_ptr->mem)
> + return 1;
> +
> + return 0;
> +}
> diff --git a/kexec/arch/ia64/kexec-ia64.c b/kexec/arch/ia64/kexec-ia64.c
> index 418d997..8d9c1f3 100644
> --- a/kexec/arch/ia64/kexec-i

[PATCH v4 10/11] ppc/pnv: Add SBE model for Power11

2024-05-28 Thread Aditya Gupta
Power11 core is same as Power10, reuse PNV10_SBER initialisation, by
declaring PNV11_PSI as child class of PNV10_PSI

Cc: Cédric Le Goater 
Cc: Frédéric Barrat 
Cc: Mahesh J Salgaonkar 
Cc: Madhavan Srinivasan 
Cc: Nicholas Piggin 
Reviewed-by: Cédric Le Goater 
Signed-off-by: Aditya Gupta 
---
 hw/ppc/pnv_sbe.c | 15 +++
 include/hw/ppc/pnv_sbe.h |  2 ++
 2 files changed, 17 insertions(+)

diff --git a/hw/ppc/pnv_sbe.c b/hw/ppc/pnv_sbe.c
index 74cee4eea7ad..a655cc7f8c9e 100644
--- a/hw/ppc/pnv_sbe.c
+++ b/hw/ppc/pnv_sbe.c
@@ -366,6 +366,20 @@ static const TypeInfo pnv_sbe_power10_type_info = {
 .name  = TYPE_PNV10_SBE,
 .parent= TYPE_PNV9_SBE,
 .class_init= pnv_sbe_power10_class_init,
+.class_base_init = pnv_sbe_power10_class_init,
+};
+
+static void pnv_sbe_power11_class_init(ObjectClass *klass, void *data)
+{
+DeviceClass *dc = DEVICE_CLASS(klass);
+
+dc->desc = "PowerNV SBE Controller (POWER11)";
+}
+
+static const TypeInfo pnv_sbe_power11_type_info = {
+.name  = TYPE_PNV11_SBE,
+.parent= TYPE_PNV10_SBE,
+.class_init= pnv_sbe_power11_class_init,
 };
 
 static void pnv_sbe_realize(DeviceState *dev, Error **errp)
@@ -409,6 +423,7 @@ static void pnv_sbe_register_types(void)
 type_register_static(_sbe_type_info);
 type_register_static(_sbe_power9_type_info);
 type_register_static(_sbe_power10_type_info);
+type_register_static(_sbe_power11_type_info);
 }
 
 type_init(pnv_sbe_register_types);
diff --git a/include/hw/ppc/pnv_sbe.h b/include/hw/ppc/pnv_sbe.h
index b6b378ad14c7..09073a1256d6 100644
--- a/include/hw/ppc/pnv_sbe.h
+++ b/include/hw/ppc/pnv_sbe.h
@@ -29,6 +29,8 @@ OBJECT_DECLARE_TYPE(PnvSBE, PnvSBEClass, PNV_SBE)
 DECLARE_INSTANCE_CHECKER(PnvSBE, PNV9_SBE, TYPE_PNV9_SBE)
 #define TYPE_PNV10_SBE TYPE_PNV_SBE "-POWER10"
 DECLARE_INSTANCE_CHECKER(PnvSBE, PNV10_SBE, TYPE_PNV10_SBE)
+#define TYPE_PNV11_SBE TYPE_PNV_SBE "-POWER11"
+DECLARE_INSTANCE_CHECKER(PnvSBE, PNV11_SBE, TYPE_PNV11_SBE)
 
 struct PnvSBE {
 DeviceState xd;
-- 
2.45.1




[PATCH v4 02/11] ppc/pseries: Add Power11 cpu type

2024-05-28 Thread Aditya Gupta
Add sPAPR CPU Core definition for Power11

Cc: David Gibson  (reviewer:sPAPR (pseries))
Cc: Harsh Prateek Bora  (reviewer:sPAPR (pseries))
Cc: Cédric Le Goater 
Cc: Daniel Henrique Barboza 
Cc: Frédéric Barrat 
Cc: Mahesh J Salgaonkar 
Cc: Madhavan Srinivasan 
Cc: Nicholas Piggin 
Signed-off-by: Aditya Gupta 
---
 docs/system/ppc/pseries.rst | 6 +++---
 hw/ppc/spapr_cpu_core.c | 1 +
 2 files changed, 4 insertions(+), 3 deletions(-)

diff --git a/docs/system/ppc/pseries.rst b/docs/system/ppc/pseries.rst
index a876d897b6e4..3277564b34c2 100644
--- a/docs/system/ppc/pseries.rst
+++ b/docs/system/ppc/pseries.rst
@@ -15,9 +15,9 @@ Supported devices
 =
 
  * Multi processor support for many Power processors generations: POWER7,
-   POWER7+, POWER8, POWER8NVL, POWER9, and Power10. Support for POWER5+ exists,
-   but its state is unknown.
- * Interrupt Controller, XICS (POWER8) and XIVE (POWER9 and Power10)
+   POWER7+, POWER8, POWER8NVL, POWER9, Power10 and Power11. Support for POWER5+
+   exists, but its state is unknown.
+ * Interrupt Controller, XICS (POWER8) and XIVE (POWER9, Power10, Power11)
  * vPHB PCIe Host bridge.
  * vscsi and vnet devices, compatible with the same devices available on a
PowerVM hypervisor with VIOS managing LPARs.
diff --git a/hw/ppc/spapr_cpu_core.c b/hw/ppc/spapr_cpu_core.c
index e7c9edd033c8..62416b7e0a7e 100644
--- a/hw/ppc/spapr_cpu_core.c
+++ b/hw/ppc/spapr_cpu_core.c
@@ -401,6 +401,7 @@ static const TypeInfo spapr_cpu_core_type_infos[] = {
 DEFINE_SPAPR_CPU_CORE_TYPE("power9_v2.0"),
 DEFINE_SPAPR_CPU_CORE_TYPE("power9_v2.2"),
 DEFINE_SPAPR_CPU_CORE_TYPE("power10_v2.0"),
+DEFINE_SPAPR_CPU_CORE_TYPE("power11_v2.0"),
 #ifdef CONFIG_KVM
 DEFINE_SPAPR_CPU_CORE_TYPE("host"),
 #endif
-- 
2.45.1




[PATCH v4 04/11] target/ppc: Fix regression due to Power10 and Power11 having same PCR

2024-05-28 Thread Aditya Gupta
Power11 has the same PCR (Processor Compatibility Register) value, as
Power10.

Due to this, QEMU considers Power11 as a valid compat-mode for Power10,
ie. earlier it was possible to run QEMU with '-M 
pseries,max-compat-mode=power11 --cpu power10'

Same PCR also introduced a regression where `-M pseries --cpu power10`
boots as Power11 (ie. logical PVR is of Power11, even though PVR is Power10).
The regression was due to 'do_client_architecture_support' checking for
valid compat modes and finding Power11 to be a valid compat mode for
Power10 (it happens even without passing 'max-compat-mode' explicitly).

Fix compat-mode issue and regression, by ensuring a future Power
processor (with a higher logical_pvr value, eg. P11) cannot be valid
compat-mode for an older Power processor (eg. P10)

Cc: Cédric Le Goater 
Cc: Daniel Henrique Barboza 
Cc: Mahesh J Salgaonkar 
Cc: Madhavan Srinivasan 
Cc: Nicholas Piggin 
Signed-off-by: Aditya Gupta 

---
Multiple alternative approaches were tried to fix this:

1. New PCR for Power11: No
2. 'Hacky fix': chose (n-1) entry in compat table in case of Power10.
  Commit: 
https://github.com/adi-g15-ibm/qemu/commit/c79bd667791883d4fb5e643979ae9c86a97bdf66
  Pros: Doesn't require adding a new field
  Cons: Hacky fix, will need change if Power12 comes with same PCR as
  Power10 (unlikely)
3. Setting current Processor's .logical_pvr as the max_compat to be checked
during CAS (Client Architecture Support).
  Commit: 
https://github.com/adi-g15-ibm/qemu/commit/30e430be71c6f3296017177298e54532570c2c87
  This causes CAS to not consider Power11 if cpu is Power10
---

---
 target/ppc/compat.c | 4 
 1 file changed, 4 insertions(+)

diff --git a/target/ppc/compat.c b/target/ppc/compat.c
index 12dd8ae290ca..168a3c06316f 100644
--- a/target/ppc/compat.c
+++ b/target/ppc/compat.c
@@ -139,6 +139,10 @@ static bool pcc_compat(PowerPCCPUClass *pcc, uint32_t 
compat_pvr,
 /* Outside specified range */
 return false;
 }
+if (compat->pvr > pcc->logical_pvr) {
+/* Older CPU cannot support a newer processor's compat mode */
+return false;
+}
 if (!(pcc->pcr_supported & compat->pcr_level)) {
 /* Not supported by this CPU */
 return false;
-- 
2.45.1




[PATCH v4 09/11] ppc/pnv: Add a PSI bridge model for Power11

2024-05-28 Thread Aditya Gupta
Power11 core is same as Power10, reuse PNV10_PSI initialisation, by
declaring 'PNV11_PSI' as child class of 'PNV10_PSI'

Cc: Cédric Le Goater 
Cc: Frédéric Barrat 
Cc: Mahesh J Salgaonkar 
Cc: Madhavan Srinivasan 
Cc: Nicholas Piggin 
Reviewed-by: Cédric Le Goater 
Signed-off-by: Aditya Gupta 
---
 hw/ppc/pnv_psi.c | 24 
 include/hw/ppc/pnv_psi.h |  2 ++
 2 files changed, 26 insertions(+)

diff --git a/hw/ppc/pnv_psi.c b/hw/ppc/pnv_psi.c
index 26460d210deb..1f708b183a87 100644
--- a/hw/ppc/pnv_psi.c
+++ b/hw/ppc/pnv_psi.c
@@ -939,6 +939,29 @@ static const TypeInfo pnv_psi_power10_info = {
 .name  = TYPE_PNV10_PSI,
 .parent= TYPE_PNV9_PSI,
 .class_init= pnv_psi_power10_class_init,
+.class_base_init = pnv_psi_power10_class_init,
+};
+
+static void pnv_psi_power11_class_init(ObjectClass *klass, void *data)
+{
+DeviceClass *dc = DEVICE_CLASS(klass);
+PnvPsiClass *ppc = PNV_PSI_CLASS(klass);
+static const char compat[] = "ibm,power11-psihb-x\0ibm,psihb-x";
+
+dc->desc= "PowerNV PSI Controller POWER11";
+
+/*
+ * ppc->xscom_pbca and ppc->xscom_size will be set up by
+ * pnv_psi_power10_class_init
+ */
+ppc->compat = compat;
+ppc->compat_size = sizeof(compat);
+}
+
+static const TypeInfo pnv_psi_power11_info = {
+.name  = TYPE_PNV11_PSI,
+.parent= TYPE_PNV10_PSI,
+.class_init= pnv_psi_power11_class_init,
 };
 
 static void pnv_psi_class_init(ObjectClass *klass, void *data)
@@ -973,6 +996,7 @@ static void pnv_psi_register_types(void)
 type_register_static(_psi_power8_info);
 type_register_static(_psi_power9_info);
 type_register_static(_psi_power10_info);
+type_register_static(_psi_power11_info);
 }
 
 type_init(pnv_psi_register_types);
diff --git a/include/hw/ppc/pnv_psi.h b/include/hw/ppc/pnv_psi.h
index 2a6f715350b6..9e1d31779204 100644
--- a/include/hw/ppc/pnv_psi.h
+++ b/include/hw/ppc/pnv_psi.h
@@ -70,6 +70,8 @@ struct Pnv9Psi {
 
 #define TYPE_PNV10_PSI TYPE_PNV_PSI "-POWER10"
 
+#define TYPE_PNV11_PSI TYPE_PNV_PSI "-POWER11"
+
 
 struct PnvPsiClass {
 SysBusDeviceClass parent_class;
-- 
2.45.1




[PATCH v4 08/11] ppc/pnv: Add OCC for Power11

2024-05-28 Thread Aditya Gupta
Power11 core is same as Power10, reuse PNV10_OCC initialisation,
by declaring `PNV11_OCC` as child class of `PNV10_OCC`

Cc: Cédric Le Goater 
Cc: Frédéric Barrat 
Cc: Mahesh J Salgaonkar 
Cc: Madhavan Srinivasan 
Cc: Nicholas Piggin 
Reviewed-by: Cédric Le Goater 
Signed-off-by: Aditya Gupta 
---
 hw/ppc/pnv_occ.c | 14 ++
 include/hw/ppc/pnv_occ.h |  2 ++
 2 files changed, 16 insertions(+)

diff --git a/hw/ppc/pnv_occ.c b/hw/ppc/pnv_occ.c
index 48123ceae176..4f510419045e 100644
--- a/hw/ppc/pnv_occ.c
+++ b/hw/ppc/pnv_occ.c
@@ -262,6 +262,19 @@ static const TypeInfo pnv_occ_power10_type_info = {
 .class_init= pnv_occ_power10_class_init,
 };
 
+static void pnv_occ_power11_class_init(ObjectClass *klass, void *data)
+{
+DeviceClass *dc = DEVICE_CLASS(klass);
+
+dc->desc = "PowerNV OCC Controller (POWER11)";
+}
+
+static const TypeInfo pnv_occ_power11_type_info = {
+.name  = TYPE_PNV11_OCC,
+.parent= TYPE_PNV10_OCC,
+.class_init= pnv_occ_power11_class_init,
+};
+
 static void pnv_occ_realize(DeviceState *dev, Error **errp)
 {
 PnvOCC *occ = PNV_OCC(dev);
@@ -305,6 +318,7 @@ static void pnv_occ_register_types(void)
 type_register_static(_occ_power8_type_info);
 type_register_static(_occ_power9_type_info);
 type_register_static(_occ_power10_type_info);
+type_register_static(_occ_power11_type_info);
 }
 
 type_init(pnv_occ_register_types);
diff --git a/include/hw/ppc/pnv_occ.h b/include/hw/ppc/pnv_occ.h
index df321244e3b1..7b5e28f13b4f 100644
--- a/include/hw/ppc/pnv_occ.h
+++ b/include/hw/ppc/pnv_occ.h
@@ -34,6 +34,8 @@ DECLARE_INSTANCE_CHECKER(PnvOCC, PNV9_OCC,
  TYPE_PNV9_OCC)
 #define TYPE_PNV10_OCC TYPE_PNV_OCC "-POWER10"
 DECLARE_INSTANCE_CHECKER(PnvOCC, PNV10_OCC, TYPE_PNV10_OCC)
+#define TYPE_PNV11_OCC TYPE_PNV_OCC "-POWER11"
+DECLARE_INSTANCE_CHECKER(PnvOCC, PNV11_OCC, TYPE_PNV11_OCC)
 
 #define PNV_OCC_SENSOR_DATA_BLOCK_OFFSET 0x0058
 #define PNV_OCC_SENSOR_DATA_BLOCK_SIZE   0x00025800
-- 
2.45.1




[PATCH v4 00/11] Power11 support for QEMU

2024-05-28 Thread Aditya Gupta
Overview


Add support for Power11 pseries and powernv machine types, to emulate VMs
running on Power11.

As Power11 core is same as Power10, hence much of the code has been reused from
Power10.

Power11 was added in Linux in:
  commit c2ed087ed35c ("powerpc: Add Power11 architected and raw mode")

Git Tree for Testing


QEMU: https://github.com/adi-g15-ibm/qemu/tree/p11-v3

Has been tested with following cases:
* '-M pseries' / '-M pseries -cpu Power11'
* '-M powernv' / '-M powernv10' / '-M powernv11'
* '-smp' option tested
* with compat mode: 'max-cpu-compat=power10' and 'max-cpu-compat=power9'
* with/without device 'virtio-scsi-pci'
* with/without -kernel and -drive with qcow_file

skiboot with Power11 support: 
https://github.com/maheshsal/skiboot/tree/upstream_power11

Linux with Power11 support: https://github.com/torvalds/linux, since v6.9-rc1

Note: This patch series does not add tests as of now, and will be done as
soon as skiboot support for Power11 gets merged, and op-build adds a
release for Power11

Changelog
=
v4:
  + patch #5: fix memory leak in pnv_chip_power10_quad_realize
  - no change in other patches

v3:
  + patch #1: version power11 as power11_v2.0
  + patch #2: split target hw/pseries code into patch #2
  + patch #3,#4: fix regression due to Power10 and Power11 having same PCR
  + patch #5: create pnv_chip_power11_dt_populate and split 
pnv_chip_power10_common_realize as per review
  + patch #6-#11: no change
  - remove commit to make Power11 as default

v2:
  + split powernv patch into homer,lpc,occ,psi,sbe
  + reduce code duplication by reusing power10 code
  + make power11 as default
  + rebase on qemu upstream/master
  + add more information in commit descriptions
  + update docs
  + update skiboot.lid


Aditya Gupta (11):
  ppc: Add Power11 DD2.0 processor
  ppc/pseries: Add Power11 cpu type
  target/ppc: Introduce 'PowerPCCPUClass::logical_pvr'
  target/ppc: Fix regression due to Power10 and Power11 having same PCR
  ppc/pnv: Add a Power11 Pnv11Chip, and a Power11 Machine
  ppc/pnv: Add HOMER for POWER11
  ppc/pnv: Add a LPC controller for POWER11
  ppc/pnv: Add OCC for Power11
  ppc/pnv: Add a PSI bridge model for Power11
  ppc/pnv: Add SBE model for Power11
  ppc/pnv: Update skiboot.lid to support Power11

 docs/system/ppc/powernv.rst |   9 +--
 docs/system/ppc/pseries.rst |   6 +-
 hw/ppc/pnv.c| 120 ++--
 hw/ppc/pnv_core.c   |  11 
 hw/ppc/pnv_homer.c  |   8 +++
 hw/ppc/pnv_lpc.c|  14 +
 hw/ppc/pnv_occ.c|  14 +
 hw/ppc/pnv_psi.c|  24 
 hw/ppc/pnv_sbe.c|  15 +
 hw/ppc/spapr_cpu_core.c |   1 +
 include/hw/ppc/pnv.h|   5 ++
 include/hw/ppc/pnv_chip.h   |   7 +++
 include/hw/ppc/pnv_core.h   |   1 +
 include/hw/ppc/pnv_homer.h  |   3 +
 include/hw/ppc/pnv_lpc.h|   4 ++
 include/hw/ppc/pnv_occ.h|   2 +
 include/hw/ppc/pnv_psi.h|   2 +
 include/hw/ppc/pnv_sbe.h|   2 +
 pc-bios/skiboot.lid | Bin 2527328 -> 2527328 bytes
 target/ppc/compat.c |  11 
 target/ppc/cpu-models.c |   3 +
 target/ppc/cpu-models.h |   3 +
 target/ppc/cpu.h|   1 +
 target/ppc/cpu_init.c   | 107 
 24 files changed, 362 insertions(+), 11 deletions(-)

-- 
2.45.1




[PATCH v4 05/11] ppc/pnv: Add a Power11 Pnv11Chip, and a Power11 Machine

2024-05-28 Thread Aditya Gupta
Power11 core is same as Power10, use the existing functionalities to
introduce a Power11 chip and machine, with Power10 chip as parent of
Power11 chip, thus going through similar class_init paths

Cc: Cédric Le Goater 
Cc: Frédéric Barrat 
Cc: Mahesh J Salgaonkar 
Cc: Madhavan Srinivasan 
Cc: Nicholas Piggin 
Signed-off-by: Aditya Gupta 
---
 docs/system/ppc/powernv.rst |   9 +--
 hw/ppc/pnv.c| 120 ++--
 hw/ppc/pnv_core.c   |  11 
 include/hw/ppc/pnv.h|   5 ++
 include/hw/ppc/pnv_chip.h   |   7 +++
 include/hw/ppc/pnv_core.h   |   1 +
 6 files changed, 145 insertions(+), 8 deletions(-)

diff --git a/docs/system/ppc/powernv.rst b/docs/system/ppc/powernv.rst
index 09f39658587d..65606aa767aa 100644
--- a/docs/system/ppc/powernv.rst
+++ b/docs/system/ppc/powernv.rst
@@ -1,5 +1,5 @@
-PowerNV family boards (``powernv8``, ``powernv9``, ``powernv10``)
-==
+PowerNV family boards (``powernv8``, ``powernv9``, ``powernv10``, 
``powernv11``)
+
 
 PowerNV (as Non-Virtualized) is the "bare metal" platform using the
 OPAL firmware. It runs Linux on IBM and OpenPOWER systems and it can
@@ -15,11 +15,12 @@ beyond the scope of what QEMU addresses today.
 Supported devices
 -
 
- * Multi processor support for POWER8, POWER8NVL and POWER9.
+ * Multi processor support for POWER8, POWER8NVL, POWER9, Power10 and Power11.
  * XSCOM, serial communication sideband bus to configure chiplets.
  * Simple LPC Controller.
  * Processor Service Interface (PSI) Controller.
- * Interrupt Controller, XICS (POWER8) and XIVE (POWER9) and XIVE2 (Power10).
+ * Interrupt Controller, XICS (POWER8) and XIVE (POWER9) and XIVE2 (Power10 &
+   Power11).
  * POWER8 PHB3 PCIe Host bridge and POWER9 PHB4 PCIe Host bridge.
  * Simple OCC is an on-chip micro-controller used for power management tasks.
  * iBT device to handle BMC communication, with the internal BMC simulator
diff --git a/hw/ppc/pnv.c b/hw/ppc/pnv.c
index 6e3a5ccdec76..f8270f4b123b 100644
--- a/hw/ppc/pnv.c
+++ b/hw/ppc/pnv.c
@@ -456,6 +456,33 @@ static void pnv_chip_power10_dt_populate(PnvChip *chip, 
void *fdt)
 pnv_dt_lpc(chip, fdt, 0, PNV10_LPCM_BASE(chip), PNV10_LPCM_SIZE);
 }
 
+static void pnv_chip_power11_dt_populate(PnvChip *chip, void *fdt)
+{
+static const char compat[] = "ibm,power11-xscom\0ibm,xscom";
+int i;
+
+pnv_dt_xscom(chip, fdt, 0,
+ cpu_to_be64(PNV10_XSCOM_BASE(chip)),
+ cpu_to_be64(PNV10_XSCOM_SIZE),
+ compat, sizeof(compat));
+
+for (i = 0; i < chip->nr_cores; i++) {
+PnvCore *pnv_core = chip->cores[i];
+int offset;
+
+offset = pnv_dt_core(chip, pnv_core, fdt);
+
+_FDT((fdt_setprop(fdt, offset, "ibm,pa-features",
+   pa_features_31, sizeof(pa_features_31;
+}
+
+if (chip->ram_size) {
+pnv_dt_memory(fdt, chip->chip_id, chip->ram_start, chip->ram_size);
+}
+
+pnv_dt_lpc(chip, fdt, 0, PNV10_LPCM_BASE(chip), PNV10_LPCM_SIZE);
+}
+
 static void pnv_dt_rtc(ISADevice *d, void *fdt, int lpc_off)
 {
 uint32_t io_base = d->ioport_id;
@@ -1288,6 +1315,8 @@ static void pnv_chip_power10_intc_print_info(PnvChip 
*chip, PowerPCCPU *cpu,
 
 #define POWER10_CORE_MASK  (0xffull)
 
+#define POWER11_CORE_MASK  (0xffull)
+
 static void pnv_chip_power8_instance_init(Object *obj)
 {
 Pnv8Chip *chip8 = PNV8_CHIP(obj);
@@ -1831,7 +1860,8 @@ static void pnv_chip_power10_instance_init(Object *obj)
 }
 }
 
-static void pnv_chip_power10_quad_realize(Pnv10Chip *chip10, Error **errp)
+static void pnv_chip_power10_quad_realize(Pnv10Chip *chip10, Error **errp,
+const char *cpu_model)
 {
 PnvChip *chip = PNV_CHIP(chip10);
 int i;
@@ -1841,9 +1871,10 @@ static void pnv_chip_power10_quad_realize(Pnv10Chip 
*chip10, Error **errp)
 
 for (i = 0; i < chip10->nr_quads; i++) {
 PnvQuad *eq = >quads[i];
+g_autofree char *type_name = PNV_QUAD_TYPE_NAME_DYN(cpu_model);
 
 pnv_chip_quad_realize_one(chip, eq, chip->cores[i * 4],
-  PNV_QUAD_TYPE_NAME("power10"));
+  type_name);
 
 pnv_xscom_add_subregion(chip, PNV10_XSCOM_EQ_BASE(eq->quad_id),
 >xscom_regs);
@@ -1881,7 +1912,8 @@ static void pnv_chip_power10_phb_realize(PnvChip *chip, 
Error **errp)
 }
 }
 
-static void pnv_chip_power10_realize(DeviceState *dev, Error **errp)
+static void pnv_chip_power10_common_realize(DeviceState *dev, Error **errp,
+const char *cpu_model)
 {
 PnvChipClass *pcc = PNV_CHIP_GET_CLASS(dev);
 PnvChip *chip = PNV_CHIP(dev);
@@ -1898,7 +1930,7 @@

[PATCH v4 06/11] ppc/pnv: Add HOMER for POWER11

2024-05-28 Thread Aditya Gupta
Power11 core is same as Power10, declare PNV11_HOMER as a child
class of PNV10_HOMER, so it goes through same class init

Cc: Cédric Le Goater 
Cc: Frédéric Barrat 
Cc: Mahesh J Salgaonkar 
Cc: Madhavan Srinivasan 
Cc: Nicholas Piggin 
Reviewed-by: Cédric Le Goater 
Signed-off-by: Aditya Gupta 
---
 hw/ppc/pnv_homer.c | 8 
 include/hw/ppc/pnv_homer.h | 3 +++
 2 files changed, 11 insertions(+)

diff --git a/hw/ppc/pnv_homer.c b/hw/ppc/pnv_homer.c
index f9a203d11d0d..1b0123a6f2ea 100644
--- a/hw/ppc/pnv_homer.c
+++ b/hw/ppc/pnv_homer.c
@@ -394,6 +394,13 @@ static const TypeInfo pnv_homer_power10_type_info = {
 .parent= TYPE_PNV_HOMER,
 .instance_size = sizeof(PnvHomer),
 .class_init= pnv_homer_power10_class_init,
+.class_base_init = pnv_homer_power10_class_init,
+};
+
+static const TypeInfo pnv_homer_power11_type_info = {
+.name  = TYPE_PNV11_HOMER,
+.parent= TYPE_PNV10_HOMER,
+.instance_size = sizeof(PnvHomer),
 };
 
 static void pnv_homer_realize(DeviceState *dev, Error **errp)
@@ -442,6 +449,7 @@ static void pnv_homer_register_types(void)
 type_register_static(_homer_power8_type_info);
 type_register_static(_homer_power9_type_info);
 type_register_static(_homer_power10_type_info);
+type_register_static(_homer_power11_type_info);
 }
 
 type_init(pnv_homer_register_types);
diff --git a/include/hw/ppc/pnv_homer.h b/include/hw/ppc/pnv_homer.h
index b1c5d498dc55..8f1cc8135937 100644
--- a/include/hw/ppc/pnv_homer.h
+++ b/include/hw/ppc/pnv_homer.h
@@ -35,6 +35,9 @@ DECLARE_INSTANCE_CHECKER(PnvHomer, PNV9_HOMER,
 #define TYPE_PNV10_HOMER TYPE_PNV_HOMER "-POWER10"
 DECLARE_INSTANCE_CHECKER(PnvHomer, PNV10_HOMER,
  TYPE_PNV10_HOMER)
+#define TYPE_PNV11_HOMER TYPE_PNV_HOMER "-POWER11"
+DECLARE_INSTANCE_CHECKER(PnvHomer, PNV11_HOMER,
+ TYPE_PNV11_HOMER)
 
 struct PnvHomer {
 DeviceState parent;
-- 
2.45.1




[PATCH v4 07/11] ppc/pnv: Add a LPC controller for POWER11

2024-05-28 Thread Aditya Gupta
Power11 core is same as Power10 core, declare PNV11_LPC as a child
class of PNV10_LPC, so it goes through same class init

Cc: Cédric Le Goater 
Cc: Frédéric Barrat 
Cc: Mahesh J Salgaonkar 
Cc: Madhavan Srinivasan 
Cc: Nicholas Piggin 
Reviewed-by: Cédric Le Goater 
Signed-off-by: Aditya Gupta 
---
 hw/ppc/pnv_lpc.c | 14 ++
 include/hw/ppc/pnv_lpc.h |  4 
 2 files changed, 18 insertions(+)

diff --git a/hw/ppc/pnv_lpc.c b/hw/ppc/pnv_lpc.c
index d692858bee78..54b366221bc7 100644
--- a/hw/ppc/pnv_lpc.c
+++ b/hw/ppc/pnv_lpc.c
@@ -698,6 +698,19 @@ static const TypeInfo pnv_lpc_power10_info = {
 .class_init= pnv_lpc_power10_class_init,
 };
 
+static void pnv_lpc_power11_class_init(ObjectClass *klass, void *data)
+{
+DeviceClass *dc = DEVICE_CLASS(klass);
+
+dc->desc = "PowerNV LPC Controller POWER11";
+}
+
+static const TypeInfo pnv_lpc_power11_info = {
+.name  = TYPE_PNV11_LPC,
+.parent= TYPE_PNV10_LPC,
+.class_init= pnv_lpc_power11_class_init,
+};
+
 static void pnv_lpc_realize(DeviceState *dev, Error **errp)
 {
 PnvLpcController *lpc = PNV_LPC(dev);
@@ -771,6 +784,7 @@ static void pnv_lpc_register_types(void)
 type_register_static(_lpc_power8_info);
 type_register_static(_lpc_power9_info);
 type_register_static(_lpc_power10_info);
+type_register_static(_lpc_power11_info);
 }
 
 type_init(pnv_lpc_register_types)
diff --git a/include/hw/ppc/pnv_lpc.h b/include/hw/ppc/pnv_lpc.h
index 5d22c4557041..1069bca38dfd 100644
--- a/include/hw/ppc/pnv_lpc.h
+++ b/include/hw/ppc/pnv_lpc.h
@@ -41,6 +41,10 @@ DECLARE_INSTANCE_CHECKER(PnvLpcController, PNV9_LPC,
 DECLARE_INSTANCE_CHECKER(PnvLpcController, PNV10_LPC,
  TYPE_PNV10_LPC)
 
+#define TYPE_PNV11_LPC TYPE_PNV_LPC "-POWER11"
+DECLARE_INSTANCE_CHECKER(PnvLpcController, PNV11_LPC,
+ TYPE_PNV11_LPC)
+
 struct PnvLpcController {
 DeviceState parent;
 
-- 
2.45.1




[PATCH v4 03/11] target/ppc: Introduce 'PowerPCCPUClass::logical_pvr'

2024-05-28 Thread Aditya Gupta
Introduce 'PnvChipClass::logical_pvr' to know corresponding logical PVR
of a PowerPC CPU.
This helps to have a one-to-one mapping between PVR and logical PVR for
a CPU, and used in a later commit to handle cases where PCR of two
generations of Power chip is same, which causes regressions with compat-mode.

Cc: Cédric Le Goater 
Cc: Daniel Henrique Barboza 
Cc: Mahesh J Salgaonkar 
Cc: Madhavan Srinivasan 
Cc: Nicholas Piggin 
Signed-off-by: Aditya Gupta 
---
 target/ppc/cpu.h  | 1 +
 target/ppc/cpu_init.c | 5 +
 2 files changed, 6 insertions(+)

diff --git a/target/ppc/cpu.h b/target/ppc/cpu.h
index 2015e603d4e0..ff43e3645228 100644
--- a/target/ppc/cpu.h
+++ b/target/ppc/cpu.h
@@ -1504,6 +1504,7 @@ struct PowerPCCPUClass {
 void (*parent_parse_features)(const char *type, char *str, Error **errp);
 
 uint32_t pvr;
+uint32_t logical_pvr;
 /*
  * If @best is false, match if pcc is in the family of pvr
  * Else match only if pcc is the best match for pvr in this family.
diff --git a/target/ppc/cpu_init.c b/target/ppc/cpu_init.c
index 82d700382cdd..6e3288e15b94 100644
--- a/target/ppc/cpu_init.c
+++ b/target/ppc/cpu_init.c
@@ -6151,6 +6151,7 @@ POWERPC_FAMILY(POWER7)(ObjectClass *oc, void *data)
 
 dc->fw_name = "PowerPC,POWER7";
 dc->desc = "POWER7";
+pcc->logical_pvr = CPU_POWERPC_LOGICAL_2_06_PLUS;
 pcc->pvr_match = ppc_pvr_match_power7;
 pcc->pcr_mask = PCR_VEC_DIS | PCR_VSX_DIS | PCR_COMPAT_2_05;
 pcc->pcr_supported = PCR_COMPAT_2_06 | PCR_COMPAT_2_05;
@@ -6314,6 +6315,7 @@ POWERPC_FAMILY(POWER8)(ObjectClass *oc, void *data)
 
 dc->fw_name = "PowerPC,POWER8";
 dc->desc = "POWER8";
+pcc->logical_pvr = CPU_POWERPC_LOGICAL_2_07;
 pcc->pvr_match = ppc_pvr_match_power8;
 pcc->pcr_mask = PCR_TM_DIS | PCR_COMPAT_2_06 | PCR_COMPAT_2_05;
 pcc->pcr_supported = PCR_COMPAT_2_07 | PCR_COMPAT_2_06 | PCR_COMPAT_2_05;
@@ -6507,6 +6509,7 @@ POWERPC_FAMILY(POWER9)(ObjectClass *oc, void *data)
 
 dc->fw_name = "PowerPC,POWER9";
 dc->desc = "POWER9";
+pcc->logical_pvr = CPU_POWERPC_LOGICAL_3_00;
 pcc->pvr_match = ppc_pvr_match_power9;
 pcc->pcr_mask = PCR_COMPAT_2_05 | PCR_COMPAT_2_06 | PCR_COMPAT_2_07;
 pcc->pcr_supported = PCR_COMPAT_3_00 | PCR_COMPAT_2_07 | PCR_COMPAT_2_06 |
@@ -6687,6 +6690,7 @@ POWERPC_FAMILY(POWER10)(ObjectClass *oc, void *data)
 
 dc->fw_name = "PowerPC,POWER10";
 dc->desc = "POWER10";
+pcc->logical_pvr = CPU_POWERPC_LOGICAL_3_10;
 pcc->pvr_match = ppc_pvr_match_power10;
 pcc->pcr_mask = PCR_COMPAT_2_05 | PCR_COMPAT_2_06 | PCR_COMPAT_2_07 |
 PCR_COMPAT_3_00;
@@ -6790,6 +6794,7 @@ POWERPC_FAMILY(POWER11)(ObjectClass *oc, void *data)
 
 dc->fw_name = "PowerPC,POWER11";
 dc->desc = "POWER11";
+pcc->logical_pvr = CPU_POWERPC_LOGICAL_3_10_PLUS;
 pcc->pvr_match = ppc_pvr_match_power11;
 pcc->pcr_mask = PCR_COMPAT_2_05 | PCR_COMPAT_2_06 | PCR_COMPAT_2_07 |
 PCR_COMPAT_3_00;
-- 
2.45.1




[PATCH v4 01/11] ppc: Add Power11 DD2.0 processor

2024-05-28 Thread Aditya Gupta
Add CPU target code to add support for new Power11 Processor.

Power11 core is same as Power10, hence reuse functions defined for
Power10.

Cc: Cédric Le Goater 
Cc: Daniel Henrique Barboza 
Cc: Frédéric Barrat 
Cc: Mahesh J Salgaonkar 
Cc: Madhavan Srinivasan 
Cc: Nicholas Piggin 
Signed-off-by: Aditya Gupta 
---
 target/ppc/compat.c |   7 +++
 target/ppc/cpu-models.c |   3 ++
 target/ppc/cpu-models.h |   3 ++
 target/ppc/cpu_init.c   | 102 
 4 files changed, 115 insertions(+)

diff --git a/target/ppc/compat.c b/target/ppc/compat.c
index ebef2cccecf3..12dd8ae290ca 100644
--- a/target/ppc/compat.c
+++ b/target/ppc/compat.c
@@ -100,6 +100,13 @@ static const CompatInfo compat_table[] = {
 .pcr_level = PCR_COMPAT_3_10,
 .max_vthreads = 8,
 },
+{ /* POWER11, ISA3.10 */
+.name = "power11",
+.pvr = CPU_POWERPC_LOGICAL_3_10_PLUS,
+.pcr = PCR_COMPAT_3_10,
+.pcr_level = PCR_COMPAT_3_10,
+.max_vthreads = 8,
+},
 };
 
 static const CompatInfo *compat_by_pvr(uint32_t pvr)
diff --git a/target/ppc/cpu-models.c b/target/ppc/cpu-models.c
index f2301b43f78b..ece348178188 100644
--- a/target/ppc/cpu-models.c
+++ b/target/ppc/cpu-models.c
@@ -734,6 +734,8 @@
 "POWER9 v2.2")
 POWERPC_DEF("power10_v2.0",  CPU_POWERPC_POWER10_DD20,   POWER10,
 "POWER10 v2.0")
+POWERPC_DEF("power11_v2.0",  CPU_POWERPC_POWER11_DD20,   POWER11,
+"POWER11_v2.0")
 #endif /* defined (TARGET_PPC64) */
 
 /***/
@@ -909,6 +911,7 @@ PowerPCCPUAlias ppc_cpu_aliases[] = {
 { "power8nvl", "power8nvl_v1.0" },
 { "power9", "power9_v2.2" },
 { "power10", "power10_v2.0" },
+{ "power11", "power11_v2.0" },
 #endif
 
 /* Generic PowerPCs */
diff --git a/target/ppc/cpu-models.h b/target/ppc/cpu-models.h
index 0229ef3a9a5c..ef74e387b047 100644
--- a/target/ppc/cpu-models.h
+++ b/target/ppc/cpu-models.h
@@ -354,6 +354,8 @@ enum {
 CPU_POWERPC_POWER10_BASE   = 0x0080,
 CPU_POWERPC_POWER10_DD1= 0x00801100,
 CPU_POWERPC_POWER10_DD20   = 0x00801200,
+CPU_POWERPC_POWER11_BASE   = 0x0082,
+CPU_POWERPC_POWER11_DD20   = 0x00821200,
 CPU_POWERPC_970_v22= 0x00390202,
 CPU_POWERPC_970FX_v10  = 0x00391100,
 CPU_POWERPC_970FX_v20  = 0x003C0200,
@@ -391,6 +393,7 @@ enum {
 CPU_POWERPC_LOGICAL_2_07   = 0x0F04,
 CPU_POWERPC_LOGICAL_3_00   = 0x0F05,
 CPU_POWERPC_LOGICAL_3_10   = 0x0F06,
+CPU_POWERPC_LOGICAL_3_10_PLUS  = 0x0F07,
 };
 
 /* System version register (used on MPC 8xxx)*/
diff --git a/target/ppc/cpu_init.c b/target/ppc/cpu_init.c
index 01e358a4a5ac..82d700382cdd 100644
--- a/target/ppc/cpu_init.c
+++ b/target/ppc/cpu_init.c
@@ -6763,6 +6763,108 @@ POWERPC_FAMILY(POWER10)(ObjectClass *oc, void *data)
 pcc->l1_icache_size = 0x8000;
 }
 
+static bool ppc_pvr_match_power11(PowerPCCPUClass *pcc, uint32_t pvr, bool 
best)
+{
+uint32_t base = pvr & CPU_POWERPC_POWER_SERVER_MASK;
+uint32_t pcc_base = pcc->pvr & CPU_POWERPC_POWER_SERVER_MASK;
+
+if (!best && (base == CPU_POWERPC_POWER11_BASE)) {
+return true;
+}
+
+if (base != pcc_base) {
+return false;
+}
+
+if ((pvr & 0x0f00) == (pcc->pvr & 0x0f00)) {
+return true;
+}
+
+return false;
+}
+
+POWERPC_FAMILY(POWER11)(ObjectClass *oc, void *data)
+{
+DeviceClass *dc = DEVICE_CLASS(oc);
+PowerPCCPUClass *pcc = POWERPC_CPU_CLASS(oc);
+
+dc->fw_name = "PowerPC,POWER11";
+dc->desc = "POWER11";
+pcc->pvr_match = ppc_pvr_match_power11;
+pcc->pcr_mask = PCR_COMPAT_2_05 | PCR_COMPAT_2_06 | PCR_COMPAT_2_07 |
+PCR_COMPAT_3_00;
+pcc->pcr_supported = PCR_COMPAT_3_10 | PCR_COMPAT_3_00 | PCR_COMPAT_2_07 |
+ PCR_COMPAT_2_06 | PCR_COMPAT_2_05;
+pcc->init_proc = init_proc_POWER10;
+pcc->check_pow = check_pow_nocheck;
+pcc->insns_flags = PPC_INSNS_BASE | PPC_ISEL | PPC_STRING | PPC_MFTB |
+   PPC_FLOAT | PPC_FLOAT_FSEL | PPC_FLOAT_FRES |
+   PPC_FLOAT_FSQRT | PPC_FLOAT_FRSQRTE |
+   PPC_FLOAT_FRSQRTES |
+   PPC_FLOAT_STFIWX |
+   PPC_FLOAT_EXT |
+   PPC_CACHE | PPC_CACHE_ICBI | PPC_CACHE_DCBZ |
+   PPC_MEM_SYNC | PPC_MEM_EIEIO |
+   PPC_MEM_TLBIE | PPC_MEM_TLBSYNC |
+   PPC_64B | PPC_64H | PPC_64BX | PPC_ALTIVEC |
+   PPC_SEGMENT_64B | PPC_SLBI |
+

Re: [PATCH v3 05/11] ppc/pnv: Add a Power11 Pnv11Chip, and a Power11 Machine

2024-05-28 Thread Aditya Gupta
On Mon, May 27, 2024 at 05:15:05PM GMT, Cédric Le Goater wrote:
> On 5/27/24 09:10, Aditya Gupta wrote:
> > Power11 core is same as Power10, use the existing functionalities to
> > introduce a Power11 chip and machine, with Power10 chip as parent of
> > Power11 chip, thus going through similar class_init paths
> > 
> > Cc: Cédric Le Goater 
> > Cc: Frédéric Barrat 
> > Cc: Mahesh J Salgaonkar 
> > Cc: Madhavan Srinivasan 
> > Cc: Nicholas Piggin 
> > Signed-off-by: Aditya Gupta 
> > ---
> >   docs/system/ppc/powernv.rst |   9 +--
> >   hw/ppc/pnv.c| 119 ++--
> >   hw/ppc/pnv_core.c   |  11 
> >   include/hw/ppc/pnv.h|   5 ++
> >   include/hw/ppc/pnv_chip.h   |   7 +++
> >   include/hw/ppc/pnv_core.h   |   1 +
> >   6 files changed, 144 insertions(+), 8 deletions(-)
> > 
> > diff --git a/docs/system/ppc/powernv.rst b/docs/system/ppc/powernv.rst
> > index 09f39658587d..65606aa767aa 100644
> > --- a/docs/system/ppc/powernv.rst
> > +++ b/docs/system/ppc/powernv.rst
> > @@ -1,5 +1,5 @@
> > -PowerNV family boards (``powernv8``, ``powernv9``, ``powernv10``)
> > -==
> > +PowerNV family boards (``powernv8``, ``powernv9``, ``powernv10``, 
> > ``powernv11``)
> > +
> >   PowerNV (as Non-Virtualized) is the "bare metal" platform using the
> >   OPAL firmware. It runs Linux on IBM and OpenPOWER systems and it can
> > @@ -15,11 +15,12 @@ beyond the scope of what QEMU addresses today.
> >   Supported devices
> >   -
> > - * Multi processor support for POWER8, POWER8NVL and POWER9.
> > + * Multi processor support for POWER8, POWER8NVL, POWER9, Power10 and 
> > Power11.
> >* XSCOM, serial communication sideband bus to configure chiplets.
> >* Simple LPC Controller.
> >* Processor Service Interface (PSI) Controller.
> > - * Interrupt Controller, XICS (POWER8) and XIVE (POWER9) and XIVE2 
> > (Power10).
> > + * Interrupt Controller, XICS (POWER8) and XIVE (POWER9) and XIVE2 
> > (Power10 &
> > +   Power11).
> >* POWER8 PHB3 PCIe Host bridge and POWER9 PHB4 PCIe Host bridge.
> >* Simple OCC is an on-chip micro-controller used for power management 
> > tasks.
> >* iBT device to handle BMC communication, with the internal BMC simulator
> > diff --git a/hw/ppc/pnv.c b/hw/ppc/pnv.c
> > index 6e3a5ccdec76..939163f91784 100644
> > --- a/hw/ppc/pnv.c
> > +++ b/hw/ppc/pnv.c
> > @@ -456,6 +456,33 @@ static void pnv_chip_power10_dt_populate(PnvChip 
> > *chip, void *fdt)
> >   pnv_dt_lpc(chip, fdt, 0, PNV10_LPCM_BASE(chip), PNV10_LPCM_SIZE);
> >   }
> > +static void pnv_chip_power11_dt_populate(PnvChip *chip, void *fdt)
> > +{
> > +static const char compat[] = "ibm,power11-xscom\0ibm,xscom";
> > +int i;
> > +
> > +pnv_dt_xscom(chip, fdt, 0,
> > + cpu_to_be64(PNV10_XSCOM_BASE(chip)),
> > + cpu_to_be64(PNV10_XSCOM_SIZE),
> > + compat, sizeof(compat));
> > +
> > +for (i = 0; i < chip->nr_cores; i++) {
> > +PnvCore *pnv_core = chip->cores[i];
> > +int offset;
> > +
> > +offset = pnv_dt_core(chip, pnv_core, fdt);
> > +
> > +_FDT((fdt_setprop(fdt, offset, "ibm,pa-features",
> > +   pa_features_31, sizeof(pa_features_31;
> > +}
> > +
> > +if (chip->ram_size) {
> > +pnv_dt_memory(fdt, chip->chip_id, chip->ram_start, chip->ram_size);
> > +}
> > +
> > +pnv_dt_lpc(chip, fdt, 0, PNV10_LPCM_BASE(chip), PNV10_LPCM_SIZE);
> > +}
> > +
> >   static void pnv_dt_rtc(ISADevice *d, void *fdt, int lpc_off)
> >   {
> >   uint32_t io_base = d->ioport_id;
> > @@ -1288,6 +1315,8 @@ static void pnv_chip_power10_intc_print_info(PnvChip 
> > *chip, PowerPCCPU *cpu,
> >   #define POWER10_CORE_MASK  (0xffull)
> > +#define POWER11_CORE_MASK  (0xffull)
> > +
> >   static void pnv_chip_power8_instance_init(Object *obj)
> >   {
> >   Pnv8Chip *chip8 = PNV8_CHIP(obj);
> > @@ -1831,7 +1860,8 @@ static void pnv_chip_power10_instance_init(Object 
> > *obj)
> >   }
> >   }
> > -static void pnv_chip_power10_quad_realize(Pnv10Chip *chip10, Error **errp)
> > +static void pnv_chip_power

Re: Keyboard shortcuts macOS

2024-05-28 Thread Aditya Toshniwal
Hi Anthony,

Is the issue https://github.com/pgadmin-org/pgadmin4/issues/7507 you raised
is for the same reason? Or it's a different issue.

On Mon, May 27, 2024 at 8:11 PM Anthony DeBarros 
wrote:

> One thing to add. I discovered that the key shortcuts that are displayed
> when hovering over the menu bar icons DO work. But then why are those key
> combinations different than what is specified under Preferences > Query
> Tool > Keyboard shortcuts?
>
> On Mon, May 27, 2024 at 10:30 AM Anthony DeBarros <
> anthonymdebar...@gmail.com> wrote:
>
>> Hi, I'm trying out the new Query Tool functionality for executing a
>> script at the cursor position (very nice). However, I'm having trouble
>> getting it (or any commands) to work via keyboard shortcuts. I know I'm
>> probably missing something.
>>
>> I'm on macOS, Sonoma. But same thing on another MAc running Big Sur.
>>
>> For example, if I want to change the case of text in the Query Tool, the
>> default shortcut is Cmd-Option-u. But pressing those keys on my Mac
>> keyboard doesn't produce anything.
>>
>> Please let me know what I'm overlooking. Thanks!
>>
>>
>>

-- 
Thanks,
Aditya Toshniwal
pgAdmin Hacker | Sr. Software Architect | *enterprisedb.com*
<https://www.enterprisedb.com/>
"Don't Complain about Heat, Plant a TREE"


[PATCH v3 10/11] ppc/pnv: Add SBE model for Power11

2024-05-27 Thread Aditya Gupta
Power11 core is same as Power10, reuse PNV10_SBER initialisation, by
declaring PNV11_PSI as child class of PNV10_PSI

Cc: Cédric Le Goater 
Cc: Frédéric Barrat 
Cc: Mahesh J Salgaonkar 
Cc: Madhavan Srinivasan 
Cc: Nicholas Piggin 
Reviewed-by: Cédric Le Goater 
Signed-off-by: Aditya Gupta 
---
 hw/ppc/pnv_sbe.c | 15 +++
 include/hw/ppc/pnv_sbe.h |  2 ++
 2 files changed, 17 insertions(+)

diff --git a/hw/ppc/pnv_sbe.c b/hw/ppc/pnv_sbe.c
index 74cee4eea7ad..a655cc7f8c9e 100644
--- a/hw/ppc/pnv_sbe.c
+++ b/hw/ppc/pnv_sbe.c
@@ -366,6 +366,20 @@ static const TypeInfo pnv_sbe_power10_type_info = {
 .name  = TYPE_PNV10_SBE,
 .parent= TYPE_PNV9_SBE,
 .class_init= pnv_sbe_power10_class_init,
+.class_base_init = pnv_sbe_power10_class_init,
+};
+
+static void pnv_sbe_power11_class_init(ObjectClass *klass, void *data)
+{
+DeviceClass *dc = DEVICE_CLASS(klass);
+
+dc->desc = "PowerNV SBE Controller (POWER11)";
+}
+
+static const TypeInfo pnv_sbe_power11_type_info = {
+.name  = TYPE_PNV11_SBE,
+.parent= TYPE_PNV10_SBE,
+.class_init= pnv_sbe_power11_class_init,
 };
 
 static void pnv_sbe_realize(DeviceState *dev, Error **errp)
@@ -409,6 +423,7 @@ static void pnv_sbe_register_types(void)
 type_register_static(_sbe_type_info);
 type_register_static(_sbe_power9_type_info);
 type_register_static(_sbe_power10_type_info);
+type_register_static(_sbe_power11_type_info);
 }
 
 type_init(pnv_sbe_register_types);
diff --git a/include/hw/ppc/pnv_sbe.h b/include/hw/ppc/pnv_sbe.h
index b6b378ad14c7..09073a1256d6 100644
--- a/include/hw/ppc/pnv_sbe.h
+++ b/include/hw/ppc/pnv_sbe.h
@@ -29,6 +29,8 @@ OBJECT_DECLARE_TYPE(PnvSBE, PnvSBEClass, PNV_SBE)
 DECLARE_INSTANCE_CHECKER(PnvSBE, PNV9_SBE, TYPE_PNV9_SBE)
 #define TYPE_PNV10_SBE TYPE_PNV_SBE "-POWER10"
 DECLARE_INSTANCE_CHECKER(PnvSBE, PNV10_SBE, TYPE_PNV10_SBE)
+#define TYPE_PNV11_SBE TYPE_PNV_SBE "-POWER11"
+DECLARE_INSTANCE_CHECKER(PnvSBE, PNV11_SBE, TYPE_PNV11_SBE)
 
 struct PnvSBE {
 DeviceState xd;
-- 
2.45.1




[PATCH v3 08/11] ppc/pnv: Add OCC for Power11

2024-05-27 Thread Aditya Gupta
Power11 core is same as Power10, reuse PNV10_OCC initialisation,
by declaring `PNV11_OCC` as child class of `PNV10_OCC`

Cc: Cédric Le Goater 
Cc: Frédéric Barrat 
Cc: Mahesh J Salgaonkar 
Cc: Madhavan Srinivasan 
Cc: Nicholas Piggin 
Reviewed-by: Cédric Le Goater 
Signed-off-by: Aditya Gupta 
---
 hw/ppc/pnv_occ.c | 14 ++
 include/hw/ppc/pnv_occ.h |  2 ++
 2 files changed, 16 insertions(+)

diff --git a/hw/ppc/pnv_occ.c b/hw/ppc/pnv_occ.c
index 48123ceae176..4f510419045e 100644
--- a/hw/ppc/pnv_occ.c
+++ b/hw/ppc/pnv_occ.c
@@ -262,6 +262,19 @@ static const TypeInfo pnv_occ_power10_type_info = {
 .class_init= pnv_occ_power10_class_init,
 };
 
+static void pnv_occ_power11_class_init(ObjectClass *klass, void *data)
+{
+DeviceClass *dc = DEVICE_CLASS(klass);
+
+dc->desc = "PowerNV OCC Controller (POWER11)";
+}
+
+static const TypeInfo pnv_occ_power11_type_info = {
+.name  = TYPE_PNV11_OCC,
+.parent= TYPE_PNV10_OCC,
+.class_init= pnv_occ_power11_class_init,
+};
+
 static void pnv_occ_realize(DeviceState *dev, Error **errp)
 {
 PnvOCC *occ = PNV_OCC(dev);
@@ -305,6 +318,7 @@ static void pnv_occ_register_types(void)
 type_register_static(_occ_power8_type_info);
 type_register_static(_occ_power9_type_info);
 type_register_static(_occ_power10_type_info);
+type_register_static(_occ_power11_type_info);
 }
 
 type_init(pnv_occ_register_types);
diff --git a/include/hw/ppc/pnv_occ.h b/include/hw/ppc/pnv_occ.h
index df321244e3b1..7b5e28f13b4f 100644
--- a/include/hw/ppc/pnv_occ.h
+++ b/include/hw/ppc/pnv_occ.h
@@ -34,6 +34,8 @@ DECLARE_INSTANCE_CHECKER(PnvOCC, PNV9_OCC,
  TYPE_PNV9_OCC)
 #define TYPE_PNV10_OCC TYPE_PNV_OCC "-POWER10"
 DECLARE_INSTANCE_CHECKER(PnvOCC, PNV10_OCC, TYPE_PNV10_OCC)
+#define TYPE_PNV11_OCC TYPE_PNV_OCC "-POWER11"
+DECLARE_INSTANCE_CHECKER(PnvOCC, PNV11_OCC, TYPE_PNV11_OCC)
 
 #define PNV_OCC_SENSOR_DATA_BLOCK_OFFSET 0x0058
 #define PNV_OCC_SENSOR_DATA_BLOCK_SIZE   0x00025800
-- 
2.45.1




[PATCH v3 00/11] Power11 support for QEMU

2024-05-27 Thread Aditya Gupta
Overview


Add support for Power11 pseries and powernv machine types, to emulate VMs
running on Power11.

As Power11 core is same as Power10, hence much of the code has been reused from
Power10.

Power11 was added in Linux in:
  commit c2ed087ed35c ("powerpc: Add Power11 architected and raw mode")

Git Tree for Testing


QEMU: https://github.com/adi-g15-ibm/qemu/tree/p11-v3

Has been tested with following cases:
* '-M pseries' / '-M pseries -cpu Power11'
* '-M powernv' / '-M powernv10' / '-M powernv11'
* '-smp' option tested
* with compat mode: 'max-cpu-compat=power10' and 'max-cpu-compat=power9'
* with/without device 'virtio-scsi-pci'
* with/without -kernel and -drive with qcow_file

skiboot with Power11 support: 
https://github.com/maheshsal/skiboot/tree/upstream_power11

Linux with Power11 support: https://github.com/torvalds/linux, since v6.9-rc1

Note: This patch series does not add tests as of now, and will be done as
soon as skiboot support for Power11 gets merged, and op-build adds a
release for Power11

Changelog
=
v3:
  + patch #1: version power11 as power11_v2.0
  + patch #2: split target hw/pseries code into patch #2
  + patch #3,#4: fix regression due to Power10 and Power11 having same PCR
  + patch #5: create pnv_chip_power11_dt_populate and split 
pnv_chip_power10_common_realize as per review
  + patch #6-#11: no change
  - remove commit to make Power11 as default

v2:
  + split powernv patch into homer,lpc,occ,psi,sbe
  + reduce code duplication by reusing power10 code
  + make power11 as default
  + rebase on qemu upstream/master
  + add more information in commit descriptions
  + update docs
  + update skiboot.lid

Aditya Gupta (11):
  ppc: Add Power11 DD2.0 processor
  ppc/pseries: Add Power11 cpu type
  target/ppc: Introduce 'PowerPCCPUClass::logical_pvr'
  target/ppc: Fix regression due to Power10 and Power11 having same PCR
  ppc/pnv: Add a Power11 Pnv11Chip, and a Power11 Machine
  ppc/pnv: Add HOMER for POWER11
  ppc/pnv: Add a LPC controller for POWER11
  ppc/pnv: Add OCC for Power11
  ppc/pnv: Add a PSI bridge model for Power11
  ppc/pnv: Add SBE model for Power11
  ppc/pnv: Update skiboot.lid to support Power11

 docs/system/ppc/powernv.rst |   9 +--
 docs/system/ppc/pseries.rst |   6 +-
 hw/ppc/pnv.c| 119 ++--
 hw/ppc/pnv_core.c   |  11 
 hw/ppc/pnv_homer.c  |   8 +++
 hw/ppc/pnv_lpc.c|  14 +
 hw/ppc/pnv_occ.c|  14 +
 hw/ppc/pnv_psi.c|  24 
 hw/ppc/pnv_sbe.c|  15 +
 hw/ppc/spapr_cpu_core.c |   1 +
 include/hw/ppc/pnv.h|   5 ++
 include/hw/ppc/pnv_chip.h   |   7 +++
 include/hw/ppc/pnv_core.h   |   1 +
 include/hw/ppc/pnv_homer.h  |   3 +
 include/hw/ppc/pnv_lpc.h|   4 ++
 include/hw/ppc/pnv_occ.h|   2 +
 include/hw/ppc/pnv_psi.h|   2 +
 include/hw/ppc/pnv_sbe.h|   2 +
 pc-bios/skiboot.lid | Bin 2527328 -> 2527328 bytes
 target/ppc/compat.c |  11 
 target/ppc/cpu-models.c |   3 +
 target/ppc/cpu-models.h |   3 +
 target/ppc/cpu.h|   1 +
 target/ppc/cpu_init.c   | 107 
 24 files changed, 361 insertions(+), 11 deletions(-)

-- 
2.45.1




[PATCH v3 04/11] target/ppc: Fix regression due to Power10 and Power11 having same PCR

2024-05-27 Thread Aditya Gupta
Power11 has the same PCR (Processor Compatibility Register) value, as
Power10.

Due to this, QEMU considers Power11 as a valid compat-mode for Power10,
ie. earlier it was possible to run QEMU with '-M 
pseries,max-compat-mode=power11 --cpu power10'

Same PCR also introduced a regression where `-M pseries --cpu power10`
boots as Power11 (ie. logical PVR is of Power11, even though PVR is Power10).
The regression was due to 'do_client_architecture_support' checking for
valid compat modes and finding Power11 to be a valid compat mode for
Power10 (it happens even without passing 'max-compat-mode' explicitly).

Fix compat-mode issue and regression, by ensuring a future Power
processor (with a higher logical_pvr value, eg. P11) cannot be valid
compat-mode for an older Power processor (eg. P10)

Cc: Cédric Le Goater 
Cc: Daniel Henrique Barboza 
Cc: Mahesh J Salgaonkar 
Cc: Madhavan Srinivasan 
Cc: Nicholas Piggin 
Signed-off-by: Aditya Gupta 

---
Multiple alternative approaches were tried to fix this:

1. New PCR for Power11: No
2. 'Hacky fix': chose (n-1) entry in compat table in case of Power10.
  Commit: 
https://github.com/adi-g15-ibm/qemu/commit/c79bd667791883d4fb5e643979ae9c86a97bdf66
  Pros: Doesn't require adding a new field
  Cons: Hacky fix, will need change if Power12 comes with same PCR as
  Power10 (unlikely)
3. Setting current Processor's .logical_pvr as the max_compat to be checked
during CAS (Client Architecture Support).
  Commit: 
https://github.com/adi-g15-ibm/qemu/commit/30e430be71c6f3296017177298e54532570c2c87
  This causes CAS to not consider Power11 if cpu is Power10
---

---
 target/ppc/compat.c | 4 
 1 file changed, 4 insertions(+)

diff --git a/target/ppc/compat.c b/target/ppc/compat.c
index 12dd8ae290ca..168a3c06316f 100644
--- a/target/ppc/compat.c
+++ b/target/ppc/compat.c
@@ -139,6 +139,10 @@ static bool pcc_compat(PowerPCCPUClass *pcc, uint32_t 
compat_pvr,
 /* Outside specified range */
 return false;
 }
+if (compat->pvr > pcc->logical_pvr) {
+/* Older CPU cannot support a newer processor's compat mode */
+return false;
+}
 if (!(pcc->pcr_supported & compat->pcr_level)) {
 /* Not supported by this CPU */
 return false;
-- 
2.45.1




[PATCH v3 05/11] ppc/pnv: Add a Power11 Pnv11Chip, and a Power11 Machine

2024-05-27 Thread Aditya Gupta
Power11 core is same as Power10, use the existing functionalities to
introduce a Power11 chip and machine, with Power10 chip as parent of
Power11 chip, thus going through similar class_init paths

Cc: Cédric Le Goater 
Cc: Frédéric Barrat 
Cc: Mahesh J Salgaonkar 
Cc: Madhavan Srinivasan 
Cc: Nicholas Piggin 
Signed-off-by: Aditya Gupta 
---
 docs/system/ppc/powernv.rst |   9 +--
 hw/ppc/pnv.c| 119 ++--
 hw/ppc/pnv_core.c   |  11 
 include/hw/ppc/pnv.h|   5 ++
 include/hw/ppc/pnv_chip.h   |   7 +++
 include/hw/ppc/pnv_core.h   |   1 +
 6 files changed, 144 insertions(+), 8 deletions(-)

diff --git a/docs/system/ppc/powernv.rst b/docs/system/ppc/powernv.rst
index 09f39658587d..65606aa767aa 100644
--- a/docs/system/ppc/powernv.rst
+++ b/docs/system/ppc/powernv.rst
@@ -1,5 +1,5 @@
-PowerNV family boards (``powernv8``, ``powernv9``, ``powernv10``)
-==
+PowerNV family boards (``powernv8``, ``powernv9``, ``powernv10``, 
``powernv11``)
+
 
 PowerNV (as Non-Virtualized) is the "bare metal" platform using the
 OPAL firmware. It runs Linux on IBM and OpenPOWER systems and it can
@@ -15,11 +15,12 @@ beyond the scope of what QEMU addresses today.
 Supported devices
 -
 
- * Multi processor support for POWER8, POWER8NVL and POWER9.
+ * Multi processor support for POWER8, POWER8NVL, POWER9, Power10 and Power11.
  * XSCOM, serial communication sideband bus to configure chiplets.
  * Simple LPC Controller.
  * Processor Service Interface (PSI) Controller.
- * Interrupt Controller, XICS (POWER8) and XIVE (POWER9) and XIVE2 (Power10).
+ * Interrupt Controller, XICS (POWER8) and XIVE (POWER9) and XIVE2 (Power10 &
+   Power11).
  * POWER8 PHB3 PCIe Host bridge and POWER9 PHB4 PCIe Host bridge.
  * Simple OCC is an on-chip micro-controller used for power management tasks.
  * iBT device to handle BMC communication, with the internal BMC simulator
diff --git a/hw/ppc/pnv.c b/hw/ppc/pnv.c
index 6e3a5ccdec76..939163f91784 100644
--- a/hw/ppc/pnv.c
+++ b/hw/ppc/pnv.c
@@ -456,6 +456,33 @@ static void pnv_chip_power10_dt_populate(PnvChip *chip, 
void *fdt)
 pnv_dt_lpc(chip, fdt, 0, PNV10_LPCM_BASE(chip), PNV10_LPCM_SIZE);
 }
 
+static void pnv_chip_power11_dt_populate(PnvChip *chip, void *fdt)
+{
+static const char compat[] = "ibm,power11-xscom\0ibm,xscom";
+int i;
+
+pnv_dt_xscom(chip, fdt, 0,
+ cpu_to_be64(PNV10_XSCOM_BASE(chip)),
+ cpu_to_be64(PNV10_XSCOM_SIZE),
+ compat, sizeof(compat));
+
+for (i = 0; i < chip->nr_cores; i++) {
+PnvCore *pnv_core = chip->cores[i];
+int offset;
+
+offset = pnv_dt_core(chip, pnv_core, fdt);
+
+_FDT((fdt_setprop(fdt, offset, "ibm,pa-features",
+   pa_features_31, sizeof(pa_features_31;
+}
+
+if (chip->ram_size) {
+pnv_dt_memory(fdt, chip->chip_id, chip->ram_start, chip->ram_size);
+}
+
+pnv_dt_lpc(chip, fdt, 0, PNV10_LPCM_BASE(chip), PNV10_LPCM_SIZE);
+}
+
 static void pnv_dt_rtc(ISADevice *d, void *fdt, int lpc_off)
 {
 uint32_t io_base = d->ioport_id;
@@ -1288,6 +1315,8 @@ static void pnv_chip_power10_intc_print_info(PnvChip 
*chip, PowerPCCPU *cpu,
 
 #define POWER10_CORE_MASK  (0xffull)
 
+#define POWER11_CORE_MASK  (0xffull)
+
 static void pnv_chip_power8_instance_init(Object *obj)
 {
 Pnv8Chip *chip8 = PNV8_CHIP(obj);
@@ -1831,7 +1860,8 @@ static void pnv_chip_power10_instance_init(Object *obj)
 }
 }
 
-static void pnv_chip_power10_quad_realize(Pnv10Chip *chip10, Error **errp)
+static void pnv_chip_power10_quad_realize(Pnv10Chip *chip10, Error **errp,
+const char *cpu_model)
 {
 PnvChip *chip = PNV_CHIP(chip10);
 int i;
@@ -1843,7 +1873,7 @@ static void pnv_chip_power10_quad_realize(Pnv10Chip 
*chip10, Error **errp)
 PnvQuad *eq = >quads[i];
 
 pnv_chip_quad_realize_one(chip, eq, chip->cores[i * 4],
-  PNV_QUAD_TYPE_NAME("power10"));
+  PNV_QUAD_TYPE_NAME_DYN(cpu_model));
 
 pnv_xscom_add_subregion(chip, PNV10_XSCOM_EQ_BASE(eq->quad_id),
 >xscom_regs);
@@ -1881,7 +1911,8 @@ static void pnv_chip_power10_phb_realize(PnvChip *chip, 
Error **errp)
 }
 }
 
-static void pnv_chip_power10_realize(DeviceState *dev, Error **errp)
+static void pnv_chip_power10_common_realize(DeviceState *dev, Error **errp,
+const char *cpu_model)
 {
 PnvChipClass *pcc = PNV_CHIP_GET_CLASS(dev);
 PnvChip *chip = PNV_CHIP(dev);
@@ -1898,7 +1929,7 @@ static void pnv_chip_power10_realize(DeviceState *dev, 
Error **errp)
 return;
 }
 
-pnv_chip_power10_quad_r

[PATCH v3 09/11] ppc/pnv: Add a PSI bridge model for Power11

2024-05-27 Thread Aditya Gupta
Power11 core is same as Power10, reuse PNV10_PSI initialisation, by
declaring 'PNV11_PSI' as child class of 'PNV10_PSI'

Cc: Cédric Le Goater 
Cc: Frédéric Barrat 
Cc: Mahesh J Salgaonkar 
Cc: Madhavan Srinivasan 
Cc: Nicholas Piggin 
Reviewed-by: Cédric Le Goater 
Signed-off-by: Aditya Gupta 
---
 hw/ppc/pnv_psi.c | 24 
 include/hw/ppc/pnv_psi.h |  2 ++
 2 files changed, 26 insertions(+)

diff --git a/hw/ppc/pnv_psi.c b/hw/ppc/pnv_psi.c
index 26460d210deb..1f708b183a87 100644
--- a/hw/ppc/pnv_psi.c
+++ b/hw/ppc/pnv_psi.c
@@ -939,6 +939,29 @@ static const TypeInfo pnv_psi_power10_info = {
 .name  = TYPE_PNV10_PSI,
 .parent= TYPE_PNV9_PSI,
 .class_init= pnv_psi_power10_class_init,
+.class_base_init = pnv_psi_power10_class_init,
+};
+
+static void pnv_psi_power11_class_init(ObjectClass *klass, void *data)
+{
+DeviceClass *dc = DEVICE_CLASS(klass);
+PnvPsiClass *ppc = PNV_PSI_CLASS(klass);
+static const char compat[] = "ibm,power11-psihb-x\0ibm,psihb-x";
+
+dc->desc= "PowerNV PSI Controller POWER11";
+
+/*
+ * ppc->xscom_pbca and ppc->xscom_size will be set up by
+ * pnv_psi_power10_class_init
+ */
+ppc->compat = compat;
+ppc->compat_size = sizeof(compat);
+}
+
+static const TypeInfo pnv_psi_power11_info = {
+.name  = TYPE_PNV11_PSI,
+.parent= TYPE_PNV10_PSI,
+.class_init= pnv_psi_power11_class_init,
 };
 
 static void pnv_psi_class_init(ObjectClass *klass, void *data)
@@ -973,6 +996,7 @@ static void pnv_psi_register_types(void)
 type_register_static(_psi_power8_info);
 type_register_static(_psi_power9_info);
 type_register_static(_psi_power10_info);
+type_register_static(_psi_power11_info);
 }
 
 type_init(pnv_psi_register_types);
diff --git a/include/hw/ppc/pnv_psi.h b/include/hw/ppc/pnv_psi.h
index 2a6f715350b6..9e1d31779204 100644
--- a/include/hw/ppc/pnv_psi.h
+++ b/include/hw/ppc/pnv_psi.h
@@ -70,6 +70,8 @@ struct Pnv9Psi {
 
 #define TYPE_PNV10_PSI TYPE_PNV_PSI "-POWER10"
 
+#define TYPE_PNV11_PSI TYPE_PNV_PSI "-POWER11"
+
 
 struct PnvPsiClass {
 SysBusDeviceClass parent_class;
-- 
2.45.1




[PATCH v3 01/11] ppc: Add Power11 DD2.0 processor

2024-05-27 Thread Aditya Gupta
Add CPU target code to add support for new Power11 Processor.

Power11 core is same as Power10, hence reuse functions defined for
Power10.

Cc: Cédric Le Goater 
Cc: Daniel Henrique Barboza 
Cc: Frédéric Barrat 
Cc: Mahesh J Salgaonkar 
Cc: Madhavan Srinivasan 
Cc: Nicholas Piggin 
Signed-off-by: Aditya Gupta 
---
 target/ppc/compat.c |   7 +++
 target/ppc/cpu-models.c |   3 ++
 target/ppc/cpu-models.h |   3 ++
 target/ppc/cpu_init.c   | 102 
 4 files changed, 115 insertions(+)

diff --git a/target/ppc/compat.c b/target/ppc/compat.c
index ebef2cccecf3..12dd8ae290ca 100644
--- a/target/ppc/compat.c
+++ b/target/ppc/compat.c
@@ -100,6 +100,13 @@ static const CompatInfo compat_table[] = {
 .pcr_level = PCR_COMPAT_3_10,
 .max_vthreads = 8,
 },
+{ /* POWER11, ISA3.10 */
+.name = "power11",
+.pvr = CPU_POWERPC_LOGICAL_3_10_PLUS,
+.pcr = PCR_COMPAT_3_10,
+.pcr_level = PCR_COMPAT_3_10,
+.max_vthreads = 8,
+},
 };
 
 static const CompatInfo *compat_by_pvr(uint32_t pvr)
diff --git a/target/ppc/cpu-models.c b/target/ppc/cpu-models.c
index f2301b43f78b..ece348178188 100644
--- a/target/ppc/cpu-models.c
+++ b/target/ppc/cpu-models.c
@@ -734,6 +734,8 @@
 "POWER9 v2.2")
 POWERPC_DEF("power10_v2.0",  CPU_POWERPC_POWER10_DD20,   POWER10,
 "POWER10 v2.0")
+POWERPC_DEF("power11_v2.0",  CPU_POWERPC_POWER11_DD20,   POWER11,
+"POWER11_v2.0")
 #endif /* defined (TARGET_PPC64) */
 
 /***/
@@ -909,6 +911,7 @@ PowerPCCPUAlias ppc_cpu_aliases[] = {
 { "power8nvl", "power8nvl_v1.0" },
 { "power9", "power9_v2.2" },
 { "power10", "power10_v2.0" },
+{ "power11", "power11_v2.0" },
 #endif
 
 /* Generic PowerPCs */
diff --git a/target/ppc/cpu-models.h b/target/ppc/cpu-models.h
index 0229ef3a9a5c..ef74e387b047 100644
--- a/target/ppc/cpu-models.h
+++ b/target/ppc/cpu-models.h
@@ -354,6 +354,8 @@ enum {
 CPU_POWERPC_POWER10_BASE   = 0x0080,
 CPU_POWERPC_POWER10_DD1= 0x00801100,
 CPU_POWERPC_POWER10_DD20   = 0x00801200,
+CPU_POWERPC_POWER11_BASE   = 0x0082,
+CPU_POWERPC_POWER11_DD20   = 0x00821200,
 CPU_POWERPC_970_v22= 0x00390202,
 CPU_POWERPC_970FX_v10  = 0x00391100,
 CPU_POWERPC_970FX_v20  = 0x003C0200,
@@ -391,6 +393,7 @@ enum {
 CPU_POWERPC_LOGICAL_2_07   = 0x0F04,
 CPU_POWERPC_LOGICAL_3_00   = 0x0F05,
 CPU_POWERPC_LOGICAL_3_10   = 0x0F06,
+CPU_POWERPC_LOGICAL_3_10_PLUS  = 0x0F07,
 };
 
 /* System version register (used on MPC 8xxx)*/
diff --git a/target/ppc/cpu_init.c b/target/ppc/cpu_init.c
index 01e358a4a5ac..82d700382cdd 100644
--- a/target/ppc/cpu_init.c
+++ b/target/ppc/cpu_init.c
@@ -6763,6 +6763,108 @@ POWERPC_FAMILY(POWER10)(ObjectClass *oc, void *data)
 pcc->l1_icache_size = 0x8000;
 }
 
+static bool ppc_pvr_match_power11(PowerPCCPUClass *pcc, uint32_t pvr, bool 
best)
+{
+uint32_t base = pvr & CPU_POWERPC_POWER_SERVER_MASK;
+uint32_t pcc_base = pcc->pvr & CPU_POWERPC_POWER_SERVER_MASK;
+
+if (!best && (base == CPU_POWERPC_POWER11_BASE)) {
+return true;
+}
+
+if (base != pcc_base) {
+return false;
+}
+
+if ((pvr & 0x0f00) == (pcc->pvr & 0x0f00)) {
+return true;
+}
+
+return false;
+}
+
+POWERPC_FAMILY(POWER11)(ObjectClass *oc, void *data)
+{
+DeviceClass *dc = DEVICE_CLASS(oc);
+PowerPCCPUClass *pcc = POWERPC_CPU_CLASS(oc);
+
+dc->fw_name = "PowerPC,POWER11";
+dc->desc = "POWER11";
+pcc->pvr_match = ppc_pvr_match_power11;
+pcc->pcr_mask = PCR_COMPAT_2_05 | PCR_COMPAT_2_06 | PCR_COMPAT_2_07 |
+PCR_COMPAT_3_00;
+pcc->pcr_supported = PCR_COMPAT_3_10 | PCR_COMPAT_3_00 | PCR_COMPAT_2_07 |
+ PCR_COMPAT_2_06 | PCR_COMPAT_2_05;
+pcc->init_proc = init_proc_POWER10;
+pcc->check_pow = check_pow_nocheck;
+pcc->insns_flags = PPC_INSNS_BASE | PPC_ISEL | PPC_STRING | PPC_MFTB |
+   PPC_FLOAT | PPC_FLOAT_FSEL | PPC_FLOAT_FRES |
+   PPC_FLOAT_FSQRT | PPC_FLOAT_FRSQRTE |
+   PPC_FLOAT_FRSQRTES |
+   PPC_FLOAT_STFIWX |
+   PPC_FLOAT_EXT |
+   PPC_CACHE | PPC_CACHE_ICBI | PPC_CACHE_DCBZ |
+   PPC_MEM_SYNC | PPC_MEM_EIEIO |
+   PPC_MEM_TLBIE | PPC_MEM_TLBSYNC |
+   PPC_64B | PPC_64H | PPC_64BX | PPC_ALTIVEC |
+   PPC_SEGMENT_64B | PPC_SLBI |
+

[PATCH v3 03/11] target/ppc: Introduce 'PowerPCCPUClass::logical_pvr'

2024-05-27 Thread Aditya Gupta
Introduce 'PnvChipClass::logical_pvr' to know corresponding logical PVR
of a PowerPC CPU.
This helps to have a one-to-one mapping between PVR and logical PVR for
a CPU, and used in a later commit to handle cases where PCR of two
generations of Power chip is same, which causes regressions with compat-mode.

Cc: Cédric Le Goater 
Cc: Daniel Henrique Barboza 
Cc: Mahesh J Salgaonkar 
Cc: Madhavan Srinivasan 
Cc: Nicholas Piggin 
Signed-off-by: Aditya Gupta 
---
 target/ppc/cpu.h  | 1 +
 target/ppc/cpu_init.c | 5 +
 2 files changed, 6 insertions(+)

diff --git a/target/ppc/cpu.h b/target/ppc/cpu.h
index 2015e603d4e0..ff43e3645228 100644
--- a/target/ppc/cpu.h
+++ b/target/ppc/cpu.h
@@ -1504,6 +1504,7 @@ struct PowerPCCPUClass {
 void (*parent_parse_features)(const char *type, char *str, Error **errp);
 
 uint32_t pvr;
+uint32_t logical_pvr;
 /*
  * If @best is false, match if pcc is in the family of pvr
  * Else match only if pcc is the best match for pvr in this family.
diff --git a/target/ppc/cpu_init.c b/target/ppc/cpu_init.c
index 82d700382cdd..6e3288e15b94 100644
--- a/target/ppc/cpu_init.c
+++ b/target/ppc/cpu_init.c
@@ -6151,6 +6151,7 @@ POWERPC_FAMILY(POWER7)(ObjectClass *oc, void *data)
 
 dc->fw_name = "PowerPC,POWER7";
 dc->desc = "POWER7";
+pcc->logical_pvr = CPU_POWERPC_LOGICAL_2_06_PLUS;
 pcc->pvr_match = ppc_pvr_match_power7;
 pcc->pcr_mask = PCR_VEC_DIS | PCR_VSX_DIS | PCR_COMPAT_2_05;
 pcc->pcr_supported = PCR_COMPAT_2_06 | PCR_COMPAT_2_05;
@@ -6314,6 +6315,7 @@ POWERPC_FAMILY(POWER8)(ObjectClass *oc, void *data)
 
 dc->fw_name = "PowerPC,POWER8";
 dc->desc = "POWER8";
+pcc->logical_pvr = CPU_POWERPC_LOGICAL_2_07;
 pcc->pvr_match = ppc_pvr_match_power8;
 pcc->pcr_mask = PCR_TM_DIS | PCR_COMPAT_2_06 | PCR_COMPAT_2_05;
 pcc->pcr_supported = PCR_COMPAT_2_07 | PCR_COMPAT_2_06 | PCR_COMPAT_2_05;
@@ -6507,6 +6509,7 @@ POWERPC_FAMILY(POWER9)(ObjectClass *oc, void *data)
 
 dc->fw_name = "PowerPC,POWER9";
 dc->desc = "POWER9";
+pcc->logical_pvr = CPU_POWERPC_LOGICAL_3_00;
 pcc->pvr_match = ppc_pvr_match_power9;
 pcc->pcr_mask = PCR_COMPAT_2_05 | PCR_COMPAT_2_06 | PCR_COMPAT_2_07;
 pcc->pcr_supported = PCR_COMPAT_3_00 | PCR_COMPAT_2_07 | PCR_COMPAT_2_06 |
@@ -6687,6 +6690,7 @@ POWERPC_FAMILY(POWER10)(ObjectClass *oc, void *data)
 
 dc->fw_name = "PowerPC,POWER10";
 dc->desc = "POWER10";
+pcc->logical_pvr = CPU_POWERPC_LOGICAL_3_10;
 pcc->pvr_match = ppc_pvr_match_power10;
 pcc->pcr_mask = PCR_COMPAT_2_05 | PCR_COMPAT_2_06 | PCR_COMPAT_2_07 |
 PCR_COMPAT_3_00;
@@ -6790,6 +6794,7 @@ POWERPC_FAMILY(POWER11)(ObjectClass *oc, void *data)
 
 dc->fw_name = "PowerPC,POWER11";
 dc->desc = "POWER11";
+pcc->logical_pvr = CPU_POWERPC_LOGICAL_3_10_PLUS;
 pcc->pvr_match = ppc_pvr_match_power11;
 pcc->pcr_mask = PCR_COMPAT_2_05 | PCR_COMPAT_2_06 | PCR_COMPAT_2_07 |
 PCR_COMPAT_3_00;
-- 
2.45.1




[PATCH v3 07/11] ppc/pnv: Add a LPC controller for POWER11

2024-05-27 Thread Aditya Gupta
Power11 core is same as Power10 core, declare PNV11_LPC as a child
class of PNV10_LPC, so it goes through same class init

Cc: Cédric Le Goater 
Cc: Frédéric Barrat 
Cc: Mahesh J Salgaonkar 
Cc: Madhavan Srinivasan 
Cc: Nicholas Piggin 
Reviewed-by: Cédric Le Goater 
Signed-off-by: Aditya Gupta 
---
 hw/ppc/pnv_lpc.c | 14 ++
 include/hw/ppc/pnv_lpc.h |  4 
 2 files changed, 18 insertions(+)

diff --git a/hw/ppc/pnv_lpc.c b/hw/ppc/pnv_lpc.c
index d692858bee78..54b366221bc7 100644
--- a/hw/ppc/pnv_lpc.c
+++ b/hw/ppc/pnv_lpc.c
@@ -698,6 +698,19 @@ static const TypeInfo pnv_lpc_power10_info = {
 .class_init= pnv_lpc_power10_class_init,
 };
 
+static void pnv_lpc_power11_class_init(ObjectClass *klass, void *data)
+{
+DeviceClass *dc = DEVICE_CLASS(klass);
+
+dc->desc = "PowerNV LPC Controller POWER11";
+}
+
+static const TypeInfo pnv_lpc_power11_info = {
+.name  = TYPE_PNV11_LPC,
+.parent= TYPE_PNV10_LPC,
+.class_init= pnv_lpc_power11_class_init,
+};
+
 static void pnv_lpc_realize(DeviceState *dev, Error **errp)
 {
 PnvLpcController *lpc = PNV_LPC(dev);
@@ -771,6 +784,7 @@ static void pnv_lpc_register_types(void)
 type_register_static(_lpc_power8_info);
 type_register_static(_lpc_power9_info);
 type_register_static(_lpc_power10_info);
+type_register_static(_lpc_power11_info);
 }
 
 type_init(pnv_lpc_register_types)
diff --git a/include/hw/ppc/pnv_lpc.h b/include/hw/ppc/pnv_lpc.h
index 5d22c4557041..1069bca38dfd 100644
--- a/include/hw/ppc/pnv_lpc.h
+++ b/include/hw/ppc/pnv_lpc.h
@@ -41,6 +41,10 @@ DECLARE_INSTANCE_CHECKER(PnvLpcController, PNV9_LPC,
 DECLARE_INSTANCE_CHECKER(PnvLpcController, PNV10_LPC,
  TYPE_PNV10_LPC)
 
+#define TYPE_PNV11_LPC TYPE_PNV_LPC "-POWER11"
+DECLARE_INSTANCE_CHECKER(PnvLpcController, PNV11_LPC,
+ TYPE_PNV11_LPC)
+
 struct PnvLpcController {
 DeviceState parent;
 
-- 
2.45.1




[PATCH v3 06/11] ppc/pnv: Add HOMER for POWER11

2024-05-27 Thread Aditya Gupta
Power11 core is same as Power10, declare PNV11_HOMER as a child
class of PNV10_HOMER, so it goes through same class init

Cc: Cédric Le Goater 
Cc: Frédéric Barrat 
Cc: Mahesh J Salgaonkar 
Cc: Madhavan Srinivasan 
Cc: Nicholas Piggin 
Reviewed-by: Cédric Le Goater 
Signed-off-by: Aditya Gupta 
---
 hw/ppc/pnv_homer.c | 8 
 include/hw/ppc/pnv_homer.h | 3 +++
 2 files changed, 11 insertions(+)

diff --git a/hw/ppc/pnv_homer.c b/hw/ppc/pnv_homer.c
index f9a203d11d0d..1b0123a6f2ea 100644
--- a/hw/ppc/pnv_homer.c
+++ b/hw/ppc/pnv_homer.c
@@ -394,6 +394,13 @@ static const TypeInfo pnv_homer_power10_type_info = {
 .parent= TYPE_PNV_HOMER,
 .instance_size = sizeof(PnvHomer),
 .class_init= pnv_homer_power10_class_init,
+.class_base_init = pnv_homer_power10_class_init,
+};
+
+static const TypeInfo pnv_homer_power11_type_info = {
+.name  = TYPE_PNV11_HOMER,
+.parent= TYPE_PNV10_HOMER,
+.instance_size = sizeof(PnvHomer),
 };
 
 static void pnv_homer_realize(DeviceState *dev, Error **errp)
@@ -442,6 +449,7 @@ static void pnv_homer_register_types(void)
 type_register_static(_homer_power8_type_info);
 type_register_static(_homer_power9_type_info);
 type_register_static(_homer_power10_type_info);
+type_register_static(_homer_power11_type_info);
 }
 
 type_init(pnv_homer_register_types);
diff --git a/include/hw/ppc/pnv_homer.h b/include/hw/ppc/pnv_homer.h
index b1c5d498dc55..8f1cc8135937 100644
--- a/include/hw/ppc/pnv_homer.h
+++ b/include/hw/ppc/pnv_homer.h
@@ -35,6 +35,9 @@ DECLARE_INSTANCE_CHECKER(PnvHomer, PNV9_HOMER,
 #define TYPE_PNV10_HOMER TYPE_PNV_HOMER "-POWER10"
 DECLARE_INSTANCE_CHECKER(PnvHomer, PNV10_HOMER,
  TYPE_PNV10_HOMER)
+#define TYPE_PNV11_HOMER TYPE_PNV_HOMER "-POWER11"
+DECLARE_INSTANCE_CHECKER(PnvHomer, PNV11_HOMER,
+ TYPE_PNV11_HOMER)
 
 struct PnvHomer {
 DeviceState parent;
-- 
2.45.1




[PATCH v3 02/11] ppc/pseries: Add Power11 cpu type

2024-05-27 Thread Aditya Gupta
Add sPAPR CPU Core definition for Power11

Cc: David Gibson  (reviewer:sPAPR (pseries))
Cc: Harsh Prateek Bora  (reviewer:sPAPR (pseries))
Cc: Cédric Le Goater 
Cc: Daniel Henrique Barboza 
Cc: Frédéric Barrat 
Cc: Mahesh J Salgaonkar 
Cc: Madhavan Srinivasan 
Cc: Nicholas Piggin 
Signed-off-by: Aditya Gupta 
---
 docs/system/ppc/pseries.rst | 6 +++---
 hw/ppc/spapr_cpu_core.c | 1 +
 2 files changed, 4 insertions(+), 3 deletions(-)

diff --git a/docs/system/ppc/pseries.rst b/docs/system/ppc/pseries.rst
index a876d897b6e4..3277564b34c2 100644
--- a/docs/system/ppc/pseries.rst
+++ b/docs/system/ppc/pseries.rst
@@ -15,9 +15,9 @@ Supported devices
 =
 
  * Multi processor support for many Power processors generations: POWER7,
-   POWER7+, POWER8, POWER8NVL, POWER9, and Power10. Support for POWER5+ exists,
-   but its state is unknown.
- * Interrupt Controller, XICS (POWER8) and XIVE (POWER9 and Power10)
+   POWER7+, POWER8, POWER8NVL, POWER9, Power10 and Power11. Support for POWER5+
+   exists, but its state is unknown.
+ * Interrupt Controller, XICS (POWER8) and XIVE (POWER9, Power10, Power11)
  * vPHB PCIe Host bridge.
  * vscsi and vnet devices, compatible with the same devices available on a
PowerVM hypervisor with VIOS managing LPARs.
diff --git a/hw/ppc/spapr_cpu_core.c b/hw/ppc/spapr_cpu_core.c
index e7c9edd033c8..62416b7e0a7e 100644
--- a/hw/ppc/spapr_cpu_core.c
+++ b/hw/ppc/spapr_cpu_core.c
@@ -401,6 +401,7 @@ static const TypeInfo spapr_cpu_core_type_infos[] = {
 DEFINE_SPAPR_CPU_CORE_TYPE("power9_v2.0"),
 DEFINE_SPAPR_CPU_CORE_TYPE("power9_v2.2"),
 DEFINE_SPAPR_CPU_CORE_TYPE("power10_v2.0"),
+DEFINE_SPAPR_CPU_CORE_TYPE("power11_v2.0"),
 #ifdef CONFIG_KVM
 DEFINE_SPAPR_CPU_CORE_TYPE("host"),
 #endif
-- 
2.45.1




[webkit-changes] [WebKit/WebKit] a1f192: REGRESSION (277166@main): [iOS] Search doesn’t hig...

2024-05-23 Thread Aditya Keerthi
  Branch: refs/heads/main
  Home:   https://github.com/WebKit/WebKit
  Commit: a1f1924291fba68c7494c7e2b67b31753f8ae9bd
  
https://github.com/WebKit/WebKit/commit/a1f1924291fba68c7494c7e2b67b31753f8ae9bd
  Author: Aditya Keerthi 
  Date:   2024-05-23 (Thu, 23 May 2024)

  Changed paths:
M Source/WebKit/Shared/WebFoundTextRange.h
M Source/WebKit/Shared/WebFoundTextRange.serialization.in
M Source/WebKit/UIProcess/ios/WKContentViewInteraction.mm
M Source/WebKit/WebProcess/WebPage/WebFoundTextRangeController.cpp
M Tools/TestWebKitAPI/Tests/WebKitCocoa/FindInPage.mm

  Log Message:
  ---
  REGRESSION (277166@main): [iOS] Search doesn’t highlight text being searched 
in Mail
https://bugs.webkit.org/show_bug.cgi?id=274571
rdar://127888785

Reviewed by Tim Horton and Charlie Wolfe.

277166@main replaced unique frame names with `FrameIdentifier` in
`WebFoundTextRange`. While this is a generally desirable change as site
isolation is developed, it is currently incompatible with `UIFindInteraction`
support for Mail.

Mail performs searches using a pool of offscreen web views, to avoid creating
one webview per email in a thread. Consequently, Mail relies on the fact that
a `WebFoundTextRange` acquired from one web view, can be reused to highlight
matches in a different web view with the same web content.

The use of `FrameIdentifier` breaks this functionality, as it is a unique
identifier that will never match across web views with the same content. On the
other hand, frame names match since they are in tree order.

For now, fix by reverting 277166@main, and add a test to document support for
the behavior that Mail relies on. Eventually, an alternate solution will be
needed to support site isolation. However, that will also require rearchitecting
WebKit's implementation of `UITextSearching`.

* Source/WebKit/Shared/WebFoundTextRange.h:
(WTF::HashTraits::constructDeletedValue):
* Source/WebKit/Shared/WebFoundTextRange.serialization.in:
* Source/WebKit/UIProcess/ios/WKContentViewInteraction.mm:
(-[WKFoundTextRange dealloc]):
* Source/WebKit/WebProcess/WebPage/WebFoundTextRangeController.cpp:
(WebKit::WebFoundTextRangeController::findTextRangesForStringMatches):
(WebKit::WebFoundTextRangeController::documentForFoundTextRange const):
* Tools/TestWebKitAPI/Tests/WebKitCocoa/FindInPage.mm:
(TEST(WebKit, FindAndHighlightDifferentWebViews)):

Canonical link: https://commits.webkit.org/279205@main



To unsubscribe from these emails, change your notification settings at 
https://github.com/WebKit/WebKit/settings/notifications
___
webkit-changes mailing list
webkit-changes@lists.webkit.org
https://lists.webkit.org/mailman/listinfo/webkit-changes


Re: [Bioc-devel] AnnotationHub: uniprot seqs ?

2024-05-21 Thread Aditya Bhagwat via Bioc-devel

Thank you Haibo and Vincent : )

Yes, UniProt.ws is certainly there and did serve me well earlier.
There are times when an offline solution is needed, when operations  
are done on larger sets.
Followed my habit to check first whether a relevant AnnotationHub  
record exists.
Given the absence of that, I downloaded the relevant fastafile  
manually from UniProt.

Read it in with Biostrings and then took it from there.
Which is quite hassle-free, so yes, I can see that there is no need  
and not much value to pull it into AnnotationHub.

Thankyou for sharing your experience : )

Cheers,

Aditya




We use Uniprot.ws to access the Uniprot data on demand:  
https://bioconductor.org/packages/release/bioc/html/UniProt.ws.html.


Haibo

-Original Message-
From: Bioc-devel  On Behalf Of  
Vincent Carey

Sent: Tuesday, May 21, 2024 7:02 AM
To: aditya.bhag...@uni-marburg.de
Cc: bioc-devel@r-project.org
Subject: Re: [Bioc-devel] AnnotationHub: uniprot seqs ?

On Tue, May 21, 2024 at 4:18 AM Aditya Bhagwat via Bioc-devel <  
bioc-devel@r-project.org> wrote:



Hey guys,

Do we have Uniprot sequences in AnnotationHub ?



That does not seem practical.

Please see
https://bioconductor.org/packages/release/bioc/vignettes/UniProt.ws/inst/doc/UniProt.ws.html

Let us know if that does not meet your need.



Not being able to find them.







Thankyouverymuch : )

Aditya

--
Aditya Bhagwat
Translational Proteomics ∙ Philipps-University Marburg

___
Bioc-devel@r-project.org mailing list
https://stat/
.ethz.ch%2Fmailman%2Flistinfo%2Fbioc-devel=05%7C02%7Chaibo.liu%40
umassmed.edu%7C47f0c877418b4558bdac08dc79859dee%7Cee9155fe2da34378a6c4
4405faf57b2e%7C0%7C0%7C638518862010686203%7CUnknown%7CTWFpbGZsb3d8eyJW
IjoiMC4wLjAwMDAiLCJQIjoiV2luMzIiLCJBTiI6Ik1haWwiLCJXVCI6Mn0%3D%7C0%7C%
7C%7C=zDryByDBnvrbLsS4GN5W4EKzwc5%2FcpTdl3vgNrCEb%2BQ%3D
d=0



--
The information in this email is intended only for the...{{dropped:14}}


___
Bioc-devel@r-project.org mailing list
https://stat.ethz.ch/mailman/listinfo/bioc-devel


[Bioc-devel] AnnotationHub: uniprot seqs ?

2024-05-21 Thread Aditya Bhagwat via Bioc-devel

Hey guys,

Do we have Uniprot sequences in AnnotationHub ?
Not being able to find them.

Thankyouverymuch : )

Aditya

--
Aditya Bhagwat
Translational Proteomics ∙ Philipps-University Marburg
Biological Pharmacological Center ∙ Room A406
Tel.: +49 6421 28 27403

___
Bioc-devel@r-project.org mailing list
https://stat.ethz.ch/mailman/listinfo/bioc-devel


Re: How to create a custom Debian ISO

2024-05-19 Thread Aditya Garg


> On 19 May 2024, at 5:57 PM, Thomas Schmitt  wrote:
> 
> Hi,
> 
> in the second part of this mail i discuss a possible problem with script
> 04_create_iso.sh about bootability on Legacy BIOS from USB stick.
> (I apologize already now for being off topic by talking about an Ubuntu
> ISO.)
> 
> 
> Roland Clobus wrote:
>> Thanks for pointing to live-build :-)
> 
> Just connecting my users. :))
> 
> 
 [1] https://github.com/t2linux/T2-Ubuntu/tree/LTS
> I wrote:
>>> Just out of pure curiosity: From what script in particular do you get
>>> this impression ?
> 
> Roland Clobus wrote:
>> The scripts with the sequence numbers 01-04 mirror the steps that are done
>> in live-build,
> 
> 01_build_file_system.sh looks quite debianish. (Not my turf.)
> 02_build_image.sh mentions squashfs, which is indeed typical for Live ISOs.
> But as said, with Ubuntu desktop there is no non-Live ISO.
> 03_prepare_iso.sh prepares bootloader files.
> (I know the topics of 02 and 03 only as bystander.)
> 
> --

Well, most of the code in that repo was written by the previous Ubuntu 
maintainer.
I don’t know what he thought at that time, but yes, now you have mentioned,
this looks kinda broken to me.

But T2 Macs cannot boot via MBR code, then only support UEFI. So even I never
bothered messing up with this code, as it never caused any issues.


> Now for the announced discussion of a possible problem in the production
> of derived Ubuntu ISOs:
> 
> 04_create_iso.sh looks on the first glimpse like producing a usual amd64
> hybrid ISO for {Legacy,EFI} x {DVD,HDD}, but in detail it is somewhat
> riddling:
> 
>  20   --grub2-mbr "/usr/lib/grub/i386-pc/boot_hybrid.img" \
>  ...
>  24   -isohybrid-mbr "${ROOT_PATH}/files/isohdpfx.bin" \
> 
> First xorriso is instructed to use boot_hybrid.img as MBR with some extra
> info for GRUB.
> But then this is overridden by the instruction to use isohdpfx.bin as MBR
> with some extra info for ISOLINUX/SYSLINUX.
> 
> In my local experiments this leads to dysfunctional MBR code because
> -isohybrid-mbr works its magic only if a ISOLINUX boot image for El Torito
> is present. But i understand from 03_prepare_iso.sh that the image file
> given by option -b is despite its name "isolinux/bios.img" concatenated
> from GRUB files cdboot.img and core.img.
> 
> I wonder whether "T2 Macs" would be able to boot via MBR code at all.
> That would be EFI in CSM mode and ISO on USB stick.
> Does this work with the currently produced ISOs ?
> 
> Obviously i am not smart enough to find one of the resulting ISOs in the
> web for inspection. Shrug.
> 
> Can it be that -isohybrid-mbr was used because else
>  25   -isohybrid-gpt-basdat -isohybrid-apm-hfsplus \
> would cause an error ?
> If so, then option
> 
>  -part_like_isohybrid
> 
> might be the better alternative because it does not override the
> preparation for using boot_hybrid.img as --grub2-mbr.
> If i replace in my experiment the line
>  -isohybrid-mbr "${ROOT_PATH}/files/isohdpfx.bin" \
> by -part_like_isohybrid, then i get an ISO where xorriso can recognize
> an MBR with the patched-in extra info caused by option --grub2-mbr.
> The partition table is more sparse than with a real ISOLINUX MBR. But
> it marks the EFI partition in MBR and (pseudo-)GPT.
> 
> 
> Whatever, current Ubuntu desktop ISOs do not use -isohybrid-gpt-basdat
> and -isohybrid-apm-hfsplus any more.
> One may run e.g.:
> 
>  xorriso -indev ubuntu-22.04.3-desktop-amd64.iso -report_el_torito as_mkisofs
> 
> to see -append_partition , -appended_part_as_gpt ,
> and -e '--interval:appended_partition_2:all::' serving instead of
> -part_like_isohybrid (or -isohybrid-mbr), -e "EFI/efiboot.img", and
> -isohybrid-gpt-basdat .
> 
> 
> Have a nice day :)
> 
> Thomas
> 



Re: How to create a custom Debian ISO

2024-05-19 Thread Aditya Garg
That's great Roland!

I also happed to come across this guide 
https://www.willhaley.com/blog/custom-debian-live-environment/.

Is it worth trying? It's quite similar to Ubuntu ISOs.

On 19 May 2024, at 5:12 PM, Roland Clobus  wrote:

Hello Aditya,

On 19/05/2024 13:08, Aditya Garg wrote:
Just to get a clarification, would the user be able to install Debian in a live 
build as well?

Yes, the current Debian live images contain both a Debian-Installer and 
Calamares which will install the live images to your hard disk.
Additionally (not well tested yet) it can run the Debian-Installer similar to 
the Debian-Installer from the netinst image, i.e. it will perform a full 
customised installation.

You can find weekly builds at [1], with the test results at [2].

With kind regards,
Roland Clobus

[1] https://get.debian.org/images/weekly-live-builds/amd64/iso-hybrid/
[2] https://openqa.debian.net/group_overview/14?only_tagged=1

PS: No need to CC me, I'm subscribed to the lists



Re: How to create a custom Debian ISO

2024-05-19 Thread Aditya Garg
Hi Roland

Just to get a clarification, would the user be able to install Debian in a live 
build as well?

And just in case Marvin is in the thread, I'd like to say sorry for the 
double-post, as mentioned in 
https://lists.debian.org/debian-user/2024/05/msg00149.html. Actually the 
double-post was due to a bug in my email client.

On 19 May 2024, at 3:42 PM, Roland Clobus  wrote:

Hello Thomas,

On 18/05/2024 14:23, Thomas Schmitt wrote:
since Aditya Garg gets a reply here at debian-live, i add a link to the
thread on debian-user, beginning with Marvin Renich's proposal to
continue the thread there:
  https://lists.debian.org/debian-user/2024/05/msg00149.html
(I proposed for Debian Live
  https://live-team.pages.debian.net/live-manual/html/live-manual/index.en.html
and for Debian installation ISOs
  https://wiki.debian.org/RepackBootableISO
)

Thanks for pointing to live-build :-) I saw the discussion originally on 
debian-devel, and it switched several times (Also I switched it away from 
debian-devel)

Roland Clobus wrote:
I had a quick peek at the scripts you use [1].
[1] https://github.com/t2linux/T2-Ubuntu/tree/LTS
It appears to me that you want to create a custom Debian Live ISO (not a
netinst image).
Just out of pure curiosity: From what script in particular do you get
this impression ?

The scripts with the sequence numbers 01-04 mirror the steps that are done in 
live-build, with the difference that live-build is more complex/configurable, 
due to it multi-purpose-tool character.

With kind regards,
Roland Clobus



[Crash-utility] Re: [Crash-Utility][PATCH v2 06/13] Fix gdb_interface: restore gdb's output streams at end of gdb_interface

2024-05-19 Thread Aditya Gupta

Hello Tao,



Will continue with testing unwinding with vmcores.


It works for me on both x86 and ppc64le !


Thanks,

Aditya Gupta




Thanks,

Aditya Gupta



--
Crash-utility mailing list -- devel@lists.crash-utility.osci.io
To unsubscribe send an email to devel-le...@lists.crash-utility.osci.io
https://${domain_name}/admin/lists/devel.lists.crash-utility.osci.io/
Contribution Guidelines: https://github.com/crash-utility/crash/wiki


[Crash-utility] Re: [Crash-Utility][PATCH v2 06/13] Fix gdb_interface: restore gdb's output streams at end of gdb_interface

2024-05-18 Thread Aditya Gupta

Hello Tao,

I noticed these compile bugs:


commit 12dbb5b41008 ("Let crash change gdb context"):

  ../../crash_target.c: In member function ‘virtual void 
crash_target::fetch_registers(regcache*, int)’:

  ../../crash_target.c:86:30: error: ‘cpu’ was not declared in this scope
     86 |   if (crash_get_cpu_reg (cpu, r, regname, regsize, (void 
*)))

    | ^~~


    Due to this change, `cpu` variable is not defined which is used 
later in the function.


    -  int cpu = inferior_ptid.tid();

    For now, I think we can keep it, and later keep this line, and then 
later remove it in the patch which renames crash_get_cpu_reg to remove 
'cpu' argument.



commit 96531096efb4 ("Rename get_cpu_reg to get_current_task_reg"):

  x86_64.c: In function ‘x86_64_init’:
  x86_64.c:198:24: error: ‘struct machdep_table’ has no member named 
‘get_cpu_reg’

    198 | machdep->get_cpu_reg = x86_64_get_cpu_reg;
        | ^~

    Just renaming 'get_cpu_reg' didn't help here, as 
'x86_64_get_cpu_reg' is renamed later in separate patch.


    Maybe for this patch, temporarily this line can just be removed... 
but issue will be, x86_64 unwinding won't be supported from this patch 
till the patch renaming 'x86_64_get_cpu_reg'



Will continue with testing unwinding with vmcores.


Thanks,

Aditya Gupta

--
Crash-utility mailing list -- devel@lists.crash-utility.osci.io
To unsubscribe send an email to devel-le...@lists.crash-utility.osci.io
https://${domain_name}/admin/lists/devel.lists.crash-utility.osci.io/
Contribution Guidelines: https://github.com/crash-utility/crash/wiki


[Crash-utility] Re: [Crash-Utility][PATCH v2 06/13] Fix gdb_interface: restore gdb's output streams at end of gdb_interface

2024-05-18 Thread Aditya Gupta

Hello Tao,



https://github.com/liutgnu/crash-dev/commits/tao-rebase-v4?? This may
be better for testing.

Sure, I will test that Tao.

Thanks for your testing!


Kindly ping... Any results for your testing?


Thanks for the ping Tao, I had gone on a vacation, Sorry, should have 
tested it before going.


Will test today and let you know.


Thanks,

Aditya Gupta


Thanks,
Tao Liu


Thanks,
Tao Liu


Thanks,

Aditya Gupta

Thanks,
Tao Liu

Thanks,
Aditya Gupta

On 28/04/24 09:32, Tao Liu wrote:

Currently for most gdb_interface call, in which a non-null file pointer
is passed, GDB's output stream is replaced with the passed file pointer

Due to this, 'info threads', which is a gdb passthrough, doesn't print any
thread, after support was added to get registers from crash_target:

  crash> info threads
Id   Target Id Frame

This empty output of 'info threads' was due to a subtle bug in
gdb_interface.

After this gdb passthrough is run, 'datatype_info' is called, with file
pointer set to null_fp (pointing to /dev/null). And after
'datatype_info' returns, any output by gdb goes to /dev/null, and hence
the output is lost.

Fix this by restoring the original output streams, after gdb_interface
has handled the output

After this patch:

  crash> info threads
Id   Target Id Frame
  * 12131 bash 0xc0051e40 in crash_fadump (regs=0x0, 
str=0xc2c60510  "sysrq triggered crash") at 
arch/powerpc/kernel/fadump.c:735

Cc: Sourabh Jain 
Cc: Hari Bathini 
Cc: Mahesh J Salgaonkar 
Cc: Naveen N. Rao 
Cc: Lianbo Jiang 
Cc: HAGIO KAZUHITO(萩尾 一仁) 
Cc: Tao Liu 
Signed-off-by: Aditya Gupta 
Signed-off-by: Tao Liu 
---
   gdb-10.2.patch | 53 ++
   1 file changed, 53 insertions(+)

diff --git a/gdb-10.2.patch b/gdb-10.2.patch
index 3694b13..0bed96a 100644
--- a/gdb-10.2.patch
+++ b/gdb-10.2.patch
@@ -16118,3 +16118,56 @@ exit 0
  subclass (SYMBOL_NONE)
{
  /* We can't use an initializer list for members of a base class, and
+--- gdb-10.2/gdb/ui-file.h.orig
 gdb-10.2/gdb/ui-file.h
+@@ -195,6 +195,7 @@ public:
+
+   bool can_emit_style_escape () override;
+
++  FILE *get_stream(void);
+   /* Sets the internal stream to FILE, and saves the FILE's file
+  descriptor in M_FD.  */
+   void set_stream (FILE *file);
+--- gdb-10.2/gdb/ui-file.c.orig
 gdb-10.2/gdb/ui-file.c
+@@ -161,6 +161,12 @@ stdio_file::~stdio_file ()
+ fclose (m_file);
+ }
+
++FILE*
++stdio_file::get_stream(void)
++{
++  return m_file;
++}
++
+ void
+ stdio_file::set_stream (FILE *file)
+ {
+--- gdb-10.2/gdb/symtab.c.orig
 gdb-10.2/gdb/symtab.c
+@@ -6964,8 +6964,12 @@ void
+ gdb_command_funnel_1(struct gnu_request *req)
+ {
+ struct symbol *sym;
++FILE *original_stdout_stream = nullptr;
++FILE *original_stderr_stream = nullptr;
+
+ if (req->command != GNU_VERSION && req->command != 
GNU_USER_PRINT_OPTION) {
++original_stdout_stream = (dynamic_cast< stdio_file * 
>gdb_stdout)->get_stream();
++original_stderr_stream = (dynamic_cast< stdio_file * 
>gdb_stderr)->get_stream();
+ (dynamic_castgdb_stdout)->set_stream(req->fp);
+ (dynamic_castgdb_stderr)->set_stream(req->fp);
+ }
+@@ -7068,6 +7072,12 @@ gdb_command_funnel_1(struct gnu_request *req)
+ req->flags |= GNU_COMMAND_FAILED;
+ break;
+ }
++
++/* Restore the streams gdb output was using */
++if (original_stdout_stream)
++(dynamic_castgdb_stdout)->set_stream(original_stdout_stream);
++if (original_stderr_stream)
++(dynamic_castgdb_stderr)->set_stream(original_stderr_stream);
+ }
+
+ /*

--
Crash-utility mailing list -- devel@lists.crash-utility.osci.io
To unsubscribe send an email to devel-le...@lists.crash-utility.osci.io
https://${domain_name}/admin/lists/devel.lists.crash-utility.osci.io/
Contribution Guidelines: https://github.com/crash-utility/crash/wiki


[webkit-changes] [WebKit/WebKit] 6c7e02: Add WebKitAdditions extension point for WKWebViewC...

2024-05-17 Thread Aditya Keerthi
  Branch: refs/heads/main
  Home:   https://github.com/WebKit/WebKit
  Commit: 6c7e02dcd680e6170f40ca7ec132a52721de7f86
  
https://github.com/WebKit/WebKit/commit/6c7e02dcd680e6170f40ca7ec132a52721de7f86
  Author: Aditya Keerthi 
  Date:   2024-05-17 (Fri, 17 May 2024)

  Changed paths:
M Source/WebKit/UIProcess/API/Cocoa/WKWebViewConfiguration.h
M Source/WebKit/UIProcess/API/Cocoa/WKWebViewConfiguration.mm
M Source/WebKit/mac/replace-webkit-additions-includes.py

  Log Message:
  ---
  Add WebKitAdditions extension point for WKWebViewConfiguration
https://bugs.webkit.org/show_bug.cgi?id=274322
rdar://126585881

Reviewed by Tim Horton and Megan Gardner.

* Source/WebKit/UIProcess/API/Cocoa/WKWebViewConfiguration.h:
* Source/WebKit/UIProcess/API/Cocoa/WKWebViewConfiguration.mm:
* Source/WebKit/mac/replace-webkit-additions-includes.py:

Canonical link: https://commits.webkit.org/278928@main



To unsubscribe from these emails, change your notification settings at 
https://github.com/WebKit/WebKit/settings/notifications
___
webkit-changes mailing list
webkit-changes@lists.webkit.org
https://lists.webkit.org/mailman/listinfo/webkit-changes


[webkit-changes] [WebKit/WebKit] 3efa43: Support testing of transparent content DocumentMar...

2024-05-17 Thread Aditya Keerthi
  Branch: refs/heads/main
  Home:   https://github.com/WebKit/WebKit
  Commit: 3efa4386e91748f4f89bdf14b68959c514b78f8e
  
https://github.com/WebKit/WebKit/commit/3efa4386e91748f4f89bdf14b68959c514b78f8e
  Author: Aditya Keerthi 
  Date:   2024-05-16 (Thu, 16 May 2024)

  Changed paths:
M Source/WebCore/testing/Internals.cpp

  Log Message:
  ---
  Support testing of transparent content DocumentMarkers
https://bugs.webkit.org/show_bug.cgi?id=274286
rdar://128232590

Reviewed by Megan Gardner and Richard Robinson.

* Source/WebCore/testing/Internals.cpp:
(WebCore::markerTypeFrom):

Canonical link: https://commits.webkit.org/278905@main



To unsubscribe from these emails, change your notification settings at 
https://github.com/WebKit/WebKit/settings/notifications
___
webkit-changes mailing list
webkit-changes@lists.webkit.org
https://lists.webkit.org/mailman/listinfo/webkit-changes


Re: How to create a custom Debian ISO

2024-05-16 Thread Aditya Garg
Well I'm used to unsquashfs, chroot, squashfs and repack the iso. This one is 
gonna be interesting.

Wish me luck.

> On 16 May 2024, at 9:42 PM, Thomas Schmitt  wrote:
> 
> Hi,
> 
> to...@tuxteam.de wrote:
>> Not the OP, but thanks, Thomas.
> 
> Well, ISO 9660 is known to be my hobby. So i can hardly resist trying
> to acquire new users for xorriso.
> 
> 
> Have a nice day :)
> 
> Thomas
> 


[jira] [Commented] (HUDI-7717) hoodie.combine.before.insert silently broken for bulk_insert if meta fields disabled (causes duplicates)

2024-05-16 Thread Aditya Goenka (Jira)


[ 
https://issues.apache.org/jira/browse/HUDI-7717?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=17847029#comment-17847029
 ] 

Aditya Goenka commented on HUDI-7717:
-

Thanks a lot [~geserdugarov] 

> hoodie.combine.before.insert silently broken for bulk_insert if meta fields 
> disabled (causes duplicates)
> 
>
> Key: HUDI-7717
> URL: https://issues.apache.org/jira/browse/HUDI-7717
> Project: Apache Hudi
>  Issue Type: Bug
>  Components: writer-core
>Reporter: Aditya Goenka
>Assignee: Geser Dugarov
>Priority: Critical
>  Labels: pull-request-available
> Fix For: 1.0.0
>
>
> Github issue - [https://github.com/apache/hudi/issues/11044]



--
This message was sent by Atlassian Jira
(v8.20.10#820010)


Re: How to create a custom Debian ISO

2024-05-16 Thread Aditya Garg
Hi 

I'm getting error 500 when attempting to open the source code. Also, I'd prefer 
an offline install since the wifi firmware for the t2 Macs is extracted from 
macOS by the user and copied over to Linux. It cannot be redistributed legally.

> On 16 May 2024, at 7:45 PM, Johannes Schauer Marin Rodrigues 
>  wrote:
> 
> Hi,
> 
> I'm removing debian-project from the recipients.
> 
> Quoting Aditya Garg (2024-05-11 10:21:55)
>> I wanted to create a custom ISO of Debian, with the following customisations:
>> 
>> 1. I want to add a custom kernel that supports my Hardware.
>> 2. I want to add my own Apt repo which hosts various software packages to 
>> support my hardware.
>> 
>> I am not able to get any good documentation for the same. Please help.
> 
> I have a script which modifies/patches the official Debian netboot installer
> medium as it is published on ftp.debian.org so that it can be used to install
> Debian on the MNT Reform 2 open hardware laptop. To that end, the script is
> able to add:
> 
> - custom kernel
> - custom device trees
> - custom apt sources
> - custom apt pinning
> - custom package selection
> - custom d-i preseed.cfg
> - custom debconf templates
> - custom d-i post-base-installer and finish-install scripts
> 
> Feature highlights:
> 
> - works with stable, unstable, stable-backports
> - produces bit-by-bit reproduucible output
> - requires no superuser privileges to run
> 
> Source code here:
> 
> https://salsa.debian.org/reform-team/reform-debian-installer
> 
> This is the script that produces the debian-installer images that you can
> download from here:
> 
> https://reform.debian.net/d-i/
> 
> Maybe this helps.
> 
> Thanks!
> 
> cheers, josch
> 


Re: How to create a custom Debian ISO

2024-05-16 Thread Aditya Garg
Well it's indeed not as easy as I thought as far as Debian ISOs are concerned.

I'll try to be more precise. I am a maintainer for Ubuntu on Linux on T2 Macs 
project: https://t2linux.org/.

We work to modify ISOs of commonly used distros by adding a custom kernel with 
drivers for T2 Macs and provide to the users. There has been a demand for 
Debian for a long time and I wish to provide the ISOs for the same. I would 
prefer making the ISO as similar to the official Debian ISO and just replace 
the Debian kernel with the customised kernel.

I've already set up an apt repo which hosts the kernels over here: 
https://github.com/AdityaGarg8/t2-ubuntu-repo

I'll be thankful if I get the best possible option.

On 11 May 2024, at 8:33 PM, Thomas Schmitt  wrote:

Hi,

Aditya Garg wrote to debian-devel:
I wanted to create a custom ISO of Debian, with the following customisations:
1. I want to add a custom kernel that supports my Hardware.
2. I want to add my own Apt repo which hosts various software packages to
support my hardware.
I am not able to get any good documentation for the same. Please help.

Marvin Renich wrote:
The package live-build from the Debian Live project might help you do
what you want.

Indeed the live-build package seems to be in use outside Debian's own
ISO production. Mailing list is
 debian-l...@lists.debian.org
There exists a manual
 https://live-team.pages.debian.net/live-manual/html/live-manual/index.en.html

Installation ISOs are made by package debian-cd, of which i am not aware
that it would have have users outside the official ISO production.i
Mailing list is
 debian-cd@lists.debian.org
Your impression about lack of documentation is not wrong as far as this
project is concerned. :))


Nevertheless the production step of packing up the ISO from a prepared
file tree is documented together with methods to use a Debian installation
ISO as base for the preparation:
 https://wiki.debian.org/RepackBootableISO

Packages may probably be added at the appropriate place in the directory
tree under /pool. (Managing a Debian repo is not my turf. Sorry for
being vague here.)

Changing the content of a Debian ISO might need some follow-up work in
administrative files of the ISO.
When merging Debian ISOs, my script
 
https://dev.lovelyhq.com/libburnia/libisoburn/raw/branch/master/test/merge_debian_isos
manipulates:
 /README.txt
 /dists/*/Release
and merges the files listed in /dists/*/Release.
You would have to explore whether these files are affected by your
changes.


Have a nice day :)

Thomas



Re: How to create a custom Debian ISO

2024-05-16 Thread Aditya Garg
Well it's indeed not as easy as I thought as far as Debian ISOs are concerned.

I'll try to be more precise. I am a maintainer for Ubuntu on Linux on T2 Macs 
project: https://t2linux.org/.

We work to modify ISOs of commonly used distros by adding a custom kernel with 
drivers for T2 Macs and provide to the users. There has been a demand for 
Debian for a long time and I wish to provide the ISOs for the same. I would 
prefer making the ISO as similar to the official Debian ISO and just replace 
the Debian kernel with the customised kernel.

I've already set up an apt repo which hosts the kernels over here: 
https://github.com/AdityaGarg8/t2-ubuntu-repo

I'll be thankful if I get the best possible option.

On 11 May 2024, at 8:33 PM, Thomas Schmitt  wrote:

Hi,

Aditya Garg wrote to debian-devel:
I wanted to create a custom ISO of Debian, with the following customisations:
1. I want to add a custom kernel that supports my Hardware.
2. I want to add my own Apt repo which hosts various software packages to
support my hardware.
I am not able to get any good documentation for the same. Please help.

Marvin Renich wrote:
The package live-build from the Debian Live project might help you do
what you want.

Indeed the live-build package seems to be in use outside Debian's own
ISO production. Mailing list is
 debian-l...@lists.debian.org
There exists a manual
 https://live-team.pages.debian.net/live-manual/html/live-manual/index.en.html

Installation ISOs are made by package debian-cd, of which i am not aware
that it would have have users outside the official ISO production.i
Mailing list is
 debian...@lists.debian.org
Your impression about lack of documentation is not wrong as far as this
project is concerned. :))


Nevertheless the production step of packing up the ISO from a prepared
file tree is documented together with methods to use a Debian installation
ISO as base for the preparation:
 https://wiki.debian.org/RepackBootableISO

Packages may probably be added at the appropriate place in the directory
tree under /pool. (Managing a Debian repo is not my turf. Sorry for
being vague here.)

Changing the content of a Debian ISO might need some follow-up work in
administrative files of the ISO.
When merging Debian ISOs, my script
 
https://dev.lovelyhq.com/libburnia/libisoburn/raw/branch/master/test/merge_debian_isos
manipulates:
 /README.txt
 /dists/*/Release
and merges the files listed in /dists/*/Release.
You would have to explore whether these files are affected by your
changes.


Have a nice day :)

Thomas



Re: How to create a custom Debian ISO

2024-05-16 Thread Aditya Garg
Well it's indeed not as easy as I thought as far as Debian ISOs are concerned.

I'll try to be more precise. I am a maintainer for Ubuntu on Linux on T2 Macs 
project: https://t2linux.org/.

We work to modify ISOs of commonly used distros by adding a custom kernel with 
drivers for T2 Macs and provide to the users. There has been a demand for 
Debian for a long time and I wish to provide the ISOs for the same. I would 
prefer making the ISO as similar to the official Debian ISO and just replace 
the Debian kernel with the customised kernel.

I've already set up an apt repo which hosts the kernels over here: 
https://github.com/AdityaGarg8/t2-ubuntu-repo

I'll be thankful if I get the best possible option.

On 11 May 2024, at 8:33 PM, Thomas Schmitt  wrote:

Hi,

Aditya Garg wrote to debian-devel:
I wanted to create a custom ISO of Debian, with the following customisations:
1. I want to add a custom kernel that supports my Hardware.
2. I want to add my own Apt repo which hosts various software packages to
support my hardware.
I am not able to get any good documentation for the same. Please help.

Marvin Renich wrote:
The package live-build from the Debian Live project might help you do
what you want.

Indeed the live-build package seems to be in use outside Debian's own
ISO production. Mailing list is
 debian-live@lists.debian.org
There exists a manual
 https://live-team.pages.debian.net/live-manual/html/live-manual/index.en.html

Installation ISOs are made by package debian-cd, of which i am not aware
that it would have have users outside the official ISO production.i
Mailing list is
 debian...@lists.debian.org
Your impression about lack of documentation is not wrong as far as this
project is concerned. :))


Nevertheless the production step of packing up the ISO from a prepared
file tree is documented together with methods to use a Debian installation
ISO as base for the preparation:
 https://wiki.debian.org/RepackBootableISO

Packages may probably be added at the appropriate place in the directory
tree under /pool. (Managing a Debian repo is not my turf. Sorry for
being vague here.)

Changing the content of a Debian ISO might need some follow-up work in
administrative files of the ISO.
When merging Debian ISOs, my script
 
https://dev.lovelyhq.com/libburnia/libisoburn/raw/branch/master/test/merge_debian_isos
manipulates:
 /README.txt
 /dists/*/Release
and merges the files listed in /dists/*/Release.
You would have to explore whether these files are affected by your
changes.


Have a nice day :)

Thomas



Re: How to create a custom Debian ISO

2024-05-16 Thread Aditya Garg
Well it's indeed not as easy as I thought as far as Debian ISOs are concerned.

I'll try to be more precise. I am a maintainer for Ubuntu on Linux on T2 Macs 
project: https://t2linux.org/.

We work to modify ISOs of commonly used distros by adding a custom kernel with 
drivers for T2 Macs and provide to the users. There has been a demand for 
Debian for a long time and I wish to provide the ISOs for the same. I would 
prefer making the ISO as similar to the official Debian ISO and just replace 
the Debian kernel with the customised kernel.

I've already set up an apt repo which hosts the kernels over here: 
https://github.com/AdityaGarg8/t2-ubuntu-repo

I'll be thankful if I get the best possible option.

On 11 May 2024, at 8:33 PM, Thomas Schmitt  wrote:

Hi,

Aditya Garg wrote to debian-devel:
I wanted to create a custom ISO of Debian, with the following customisations:
1. I want to add a custom kernel that supports my Hardware.
2. I want to add my own Apt repo which hosts various software packages to
support my hardware.
I am not able to get any good documentation for the same. Please help.

Marvin Renich wrote:
The package live-build from the Debian Live project might help you do
what you want.

Indeed the live-build package seems to be in use outside Debian's own
ISO production. Mailing list is
 debian-l...@lists.debian.org
There exists a manual
 https://live-team.pages.debian.net/live-manual/html/live-manual/index.en.html

Installation ISOs are made by package debian-cd, of which i am not aware
that it would have have users outside the official ISO production.i
Mailing list is
 debian...@lists.debian.org
Your impression about lack of documentation is not wrong as far as this
project is concerned. :))


Nevertheless the production step of packing up the ISO from a prepared
file tree is documented together with methods to use a Debian installation
ISO as base for the preparation:
 https://wiki.debian.org/RepackBootableISO

Packages may probably be added at the appropriate place in the directory
tree under /pool. (Managing a Debian repo is not my turf. Sorry for
being vague here.)

Changing the content of a Debian ISO might need some follow-up work in
administrative files of the ISO.
When merging Debian ISOs, my script
 
https://dev.lovelyhq.com/libburnia/libisoburn/raw/branch/master/test/merge_debian_isos
manipulates:
 /README.txt
 /dists/*/Release
and merges the files listed in /dists/*/Release.
You would have to explore whether these files are affected by your
changes.


Have a nice day :)

Thomas



Re: How to create a custom Debian ISO

2024-05-16 Thread Aditya Garg
Well it's indeed not as easy as I thought as far as Debian ISOs are concerned.

I'll try to be more precise. I am a maintainer for Ubuntu on Linux on T2 Macs 
project: https://t2linux.org/.

We work to modify ISOs of commonly used distros by adding a custom kernel with 
drivers for T2 Macs and provide to the users. There has been a demand for 
Debian for a long time and I wish to provide the ISOs for the same. I would 
prefer making the ISO as similar to the official Debian ISO and just replace 
the Debian kernel with the customised kernel.

I've already set up an apt repo which hosts the kernels over here: 
https://github.com/AdityaGarg8/t2-ubuntu-repo

I'll be thankful if I get the best possible option.

On 11 May 2024, at 8:33 PM, Thomas Schmitt  wrote:

Hi,

Aditya Garg wrote to debian-devel:
I wanted to create a custom ISO of Debian, with the following customisations:
1. I want to add a custom kernel that supports my Hardware.
2. I want to add my own Apt repo which hosts various software packages to
support my hardware.
I am not able to get any good documentation for the same. Please help.

Marvin Renich wrote:
The package live-build from the Debian Live project might help you do
what you want.

Indeed the live-build package seems to be in use outside Debian's own
ISO production. Mailing list is
 debian-l...@lists.debian.org
There exists a manual
 https://live-team.pages.debian.net/live-manual/html/live-manual/index.en.html

Installation ISOs are made by package debian-cd, of which i am not aware
that it would have have users outside the official ISO production.i
Mailing list is
 debian...@lists.debian.org
Your impression about lack of documentation is not wrong as far as this
project is concerned. :))


Nevertheless the production step of packing up the ISO from a prepared
file tree is documented together with methods to use a Debian installation
ISO as base for the preparation:
 https://wiki.debian.org/RepackBootableISO

Packages may probably be added at the appropriate place in the directory
tree under /pool. (Managing a Debian repo is not my turf. Sorry for
being vague here.)

Changing the content of a Debian ISO might need some follow-up work in
administrative files of the ISO.
When merging Debian ISOs, my script
 
https://dev.lovelyhq.com/libburnia/libisoburn/raw/branch/master/test/merge_debian_isos
manipulates:
 /README.txt
 /dists/*/Release
and merges the files listed in /dists/*/Release.
You would have to explore whether these files are affected by your
changes.


Have a nice day :)

Thomas



Re: Unable to Sign In to SSO Login

2024-05-16 Thread Aditya Singh
Can you show the screenshot of the Login (all requests) by hiding the
confidential info?

On Thu, 16 May 2024 at 2:26 PM, Manoj Kiradi  wrote:

> Hello
>
> I have a Login scenario to script that involves SSO. I've correlated all
> dynamic values be it in request body, headers and URL but the script is
> failing at 'Sign In screen after a Password is Entered'.
> I've checked and can confirm that parameter URLEncoding is taken care of.
> Also, compared all requests body and params with browser Dev Tools traffic
> and Fiddler traffic, I couldn't find any parameter/value that is missing in
> JMeter script.
>
> Looks like the request is posting correct values as expected by the
> application but still can't go past Sign In. Able to go past the 'Enter
> Username' screen but just stuck at 'Enter Password' screen.
>
> Any suggestions and support on this issue is greatly appreciated. Thank
> you!
>
> Failed Request:
> *POST https://login.microsoftonline.com/{param}/login
> *
>
> Above request Post below dynamic unique identifiers data-
> Username
> Password
> *hpgrequestid*
> *flowToken*
> *canary*
> *ctx*
>
> Response Body data of above failed request:
> **
> *Redirecting*
>
> Title displayed as '*Redirecting*' instead should be '*Sign in to
> your account*'
>
>
> Regards
> Manoj
>


[webkit-changes] [WebKit/WebKit] 188341: REGRESSION (278793@main): Text invisible after a U...

2024-05-15 Thread Aditya Keerthi
  Branch: refs/heads/main
  Home:   https://github.com/WebKit/WebKit
  Commit: 188341d5081989a170faf4b6e1b93ad87a02ed73
  
https://github.com/WebKit/WebKit/commit/188341d5081989a170faf4b6e1b93ad87a02ed73
  Author: Aditya Keerthi 
  Date:   2024-05-15 (Wed, 15 May 2024)

  Changed paths:
M Source/WebKit/WebProcess/WebPage/Cocoa/UnifiedTextReplacementController.mm

  Log Message:
  ---
  REGRESSION (278793@main): Text invisible after a UnifiedTextReplacement 
session ends
https://bugs.webkit.org/show_bug.cgi?id=274235
rdar://128166540

Reviewed by Wenson Hsieh and Abrar Rahman Protyasha.

278793@main refactored the logic to restore text visibility. However, by moving
the logic to end of 
`UnifiedTextReplacementController::didEndTextReplacementSession`,
all other state was already cleared, making `removeTransparentMarkersForSession`
a no-op.

Fix by removing the transparency markers first.

* Source/WebKit/WebProcess/WebPage/Cocoa/UnifiedTextReplacementController.mm:
(WebKit::UnifiedTextReplacementController::didEndTextReplacementSession):

Canonical link: https://commits.webkit.org/278843@main



To unsubscribe from these emails, change your notification settings at 
https://github.com/WebKit/WebKit/settings/notifications
___
webkit-changes mailing list
webkit-changes@lists.webkit.org
https://lists.webkit.org/mailman/listinfo/webkit-changes


[webkit-changes] [WebKit/WebKit] 1358c8: REGRESSION (272448.703@safari-7618-branch): [iOS] ...

2024-05-15 Thread Aditya Keerthi
  Branch: refs/heads/main
  Home:   https://github.com/WebKit/WebKit
  Commit: 1358c81b18526a7f44d21b66983c82e59ba44056
  
https://github.com/WebKit/WebKit/commit/1358c81b18526a7f44d21b66983c82e59ba44056
  Author: Aditya Keerthi 
  Date:   2024-05-15 (Wed, 15 May 2024)

  Changed paths:
A Source/WebKit/UIProcess/Cocoa/PickerDismissalReason.h
M Source/WebKit/UIProcess/Cocoa/WKContactPicker.h
M Source/WebKit/UIProcess/Cocoa/WKContactPicker.mm
M Source/WebKit/UIProcess/Cocoa/WKShareSheet.h
M Source/WebKit/UIProcess/Cocoa/WKShareSheet.mm
M Source/WebKit/UIProcess/ios/UIKitUtilities.h
M Source/WebKit/UIProcess/ios/UIKitUtilities.mm
M Source/WebKit/UIProcess/ios/WKContentView.mm
M Source/WebKit/UIProcess/ios/WKContentViewInteraction.h
M Source/WebKit/UIProcess/ios/WKContentViewInteraction.mm
M Source/WebKit/UIProcess/ios/WKPDFView.mm
M Source/WebKit/UIProcess/ios/forms/WKFileUploadPanel.h
M Source/WebKit/UIProcess/ios/forms/WKFileUploadPanel.mm
M Source/WebKit/UIProcess/mac/WebViewImpl.mm
M Source/WebKit/WebKit.xcodeproj/project.pbxproj

  Log Message:
  ---
  REGRESSION (272448.703@safari-7618-branch): [iOS]  camera 
capture instantly dismisses
rdar://125046135

Reviewed by Abrar Rahman Protyasha and Wenson Hsieh.

272448.703@safari-7618-branch added logic to dismiss presented pickers, such as
the file upload panel, when the `WKWebView` was removed from the hierarchy. The
behavior is necessary to avoid scenarios where a picker can be displayed over a
site that's unrelated to the one requesting the information.

While that solution is correct for modal presentations, it is incorrect for
fullscreen presentations, which remove views from the hierarchy following
presentation. The camera view controller uses a fullscreen presentation.
Consequently, once it gets presented, the web view is removed from the
hierarchy, and following 272448.703@safari-7618-branch, it is instantly
dismissed.

To fix, reduce the scope of the previous fix to exclude fullscreen 
presentations.
In this case, there is no need to dismiss presented view controllers, as the
web view content is already hidden.

Note that there is no way to detect whether a view was removed from the 
hierarchy
due to a fullscreen presentation. Consequently, the solution checks the status
of various presented pickers.

* Source/WebKit/UIProcess/Cocoa/PickerDismissalReason.h:

Introduce `PickerDismissalReason`s to control the dimissal behavior.

In particular, `ViewRemoved` now checks for fullscreen presentations, to avoid
instant dismissal.

* Source/WebKit/UIProcess/Cocoa/WKContactPicker.h:
* Source/WebKit/UIProcess/Cocoa/WKContactPicker.mm:
(-[WKContactPicker dismissIfNeededWithReason:]):
* Source/WebKit/UIProcess/Cocoa/WKShareSheet.h:
* Source/WebKit/UIProcess/Cocoa/WKShareSheet.mm:
(-[WKShareSheet dismissIfNeededWithReason:]):
* Source/WebKit/UIProcess/ios/UIKitUtilities.h:
* Source/WebKit/UIProcess/ios/UIKitUtilities.mm:
(-[UIViewController _wk_isInFullscreenPresentation]):
* Source/WebKit/UIProcess/ios/WKContentView.mm:
(-[WKContentView willMoveToWindow:]):
* Source/WebKit/UIProcess/ios/WKContentViewInteraction.h:
* Source/WebKit/UIProcess/ios/WKContentViewInteraction.mm:
(-[WKContentView cleanUpInteraction]):
(-[WKContentView dismissFilePicker]):
(-[WKContentView _showShareSheet:inRect:completionHandler:]):
(-[WKContentView dismissPickersIfNeededWithReason:]):
(-[WKContentView dismissPickers]): Deleted.
* Source/WebKit/UIProcess/ios/WKPDFView.mm:
(-[WKPDFView dealloc]):

`ProcessExited` is used here, since it has the desired semantics.

In effect, the remote process of the host view controller is exited here.

(-[WKPDFView actionSheetAssistant:shareElementWithURL:rect:]):
* Source/WebKit/UIProcess/ios/forms/WKFileUploadPanel.h:
* Source/WebKit/UIProcess/ios/forms/WKFileUploadPanel.mm:
(-[WKFileUploadPanel dismissIfNeededWithReason:]):
* Source/WebKit/UIProcess/mac/WebViewImpl.mm:
(WebKit::WebViewImpl::showShareSheet):
* Source/WebKit/WebKit.xcodeproj/project.pbxproj:

Originally-landed-as: 272448.818@safari-7618-branch (1db2f6a6a042). 
rdar://128086989
Canonical link: https://commits.webkit.org/278827@main



To unsubscribe from these emails, change your notification settings at 
https://github.com/WebKit/WebKit/settings/notifications
___
webkit-changes mailing list
webkit-changes@lists.webkit.org
https://lists.webkit.org/mailman/listinfo/webkit-changes


[webkit-changes] [WebKit/WebKit] d74204: [macOS] Add a mechanism to temporarily suppress te...

2024-05-15 Thread Aditya Keerthi
  Branch: refs/heads/main
  Home:   https://github.com/WebKit/WebKit
  Commit: d74204522d48951c10bb31282e991ce3a7df96d7
  
https://github.com/WebKit/WebKit/commit/d74204522d48951c10bb31282e991ce3a7df96d7
  Author: Aditya Keerthi 
  Date:   2024-05-15 (Wed, 15 May 2024)

  Changed paths:
M Source/WebKit/UIProcess/API/Cocoa/WKWebView.mm
M Source/WebKit/UIProcess/Cocoa/WebPageProxyCocoa.mm
M Source/WebKit/UIProcess/PageClient.h
M 
Source/WebKit/UIProcess/RemoteLayerTree/RemoteScrollingCoordinatorProxy.cpp
M Source/WebKit/UIProcess/ViewGestureController.cpp
M Source/WebKit/UIProcess/WebPageProxy.cpp
M Source/WebKit/UIProcess/WebPageProxy.h
M Source/WebKit/UIProcess/ios/WebPageProxyIOS.mm
M Source/WebKit/UIProcess/mac/PageClientImplMac.h
M Source/WebKit/UIProcess/mac/PageClientImplMac.mm
M Source/WebKit/UIProcess/mac/WKTextIndicatorStyleManager.h
M Source/WebKit/UIProcess/mac/WebViewImpl.h
M Source/WebKit/UIProcess/mac/WebViewImpl.mm

  Log Message:
  ---
  [macOS] Add a mechanism to temporarily suppress text indicators during 
scrolling/resizing/zooming
https://bugs.webkit.org/show_bug.cgi?id=274071
rdar://127271298

Reviewed by Abrar Rahman Protyasha and Richard Robinson.

Modern text indicators are inserted as subviews of `WKWebView`. During 
scrolling,
resizing, and zooming, text can get displaced from the text indicator. 
Consequently,
in this scenarios, text indicators should be temporarily suppressed, and 
restored
when in a stable state.

* Source/WebKit/UIProcess/API/Cocoa/WKWebView.mm:
(-[WKWebView setPageZoom:]):
(-[WKWebView _setTextZoomFactor:]):
* Source/WebKit/UIProcess/Cocoa/WebPageProxyCocoa.mm:
(WebKit::WebPageProxy::scrollingNodeScrollViewDidScroll):
* Source/WebKit/UIProcess/PageClient.h:
(WebKit::PageClient::willBeginViewGesture):
(WebKit::PageClient::didEndViewGesture):
* Source/WebKit/UIProcess/RemoteLayerTree/RemoteScrollingCoordinatorProxy.cpp:
(WebKit::RemoteScrollingCoordinatorProxy::scrollingTreeNodeDidScroll):

Remove the platform conditional, so that all types of scrolls can be detected 
on macOS.

* Source/WebKit/UIProcess/ViewGestureController.cpp:
(WebKit::ViewGestureController::willBeginGesture):
(WebKit::ViewGestureController::didEndGesture):
* Source/WebKit/UIProcess/WebPageProxy.cpp:
(WebKit::WebPageProxy::willBeginViewGesture):
(WebKit::WebPageProxy::didEndViewGesture):
* Source/WebKit/UIProcess/WebPageProxy.h:

Introduce `willBeginViewGesture` and `didEndViewGesture` to enable suppression
during magnification and navigation gestures.

* Source/WebKit/UIProcess/ios/WebPageProxyIOS.mm:
(WebKit::WebPageProxy::scrollingNodeScrollViewDidScroll): Deleted.
* Source/WebKit/UIProcess/mac/PageClientImplMac.h:
* Source/WebKit/UIProcess/mac/PageClientImplMac.mm:
(WebKit::PageClientImpl::scrollingNodeScrollViewDidScroll):
(WebKit::PageClientImpl::willBeginViewGesture):
(WebKit::PageClientImpl::didEndViewGesture):
* Source/WebKit/UIProcess/mac/WKTextIndicatorStyleManager.h:
* Source/WebKit/UIProcess/mac/WebViewImpl.h:
* Source/WebKit/UIProcess/mac/WebViewImpl.mm:
(WebKit::WebViewImpl::WebViewImpl):
(WebKit::WebViewImpl::renewGState):

Suppress modern text indicators during resizing.

(WebKit::WebViewImpl::hasContentRelativeChildViews const):
(WebKit::WebViewImpl::suppressContentRelativeChildViews):

Use a `HysteresisActivity` to drive suppression. `Remove` / `Restore` are used
to hide views for a longer period of time, such as during a magnification 
gesture.
Otherwise, `TemporarilyRemove` is used for affecting behaviors which have no
start/end, such as resizing.

(WebKit::WebViewImpl::contentRelativeViewsHysteresisTimerFired):
(WebKit::WebViewImpl::restoreContentRelativeChildViews):
(WebKit::WebViewImpl::setMagnification):

Canonical link: https://commits.webkit.org/278818@main



To unsubscribe from these emails, change your notification settings at 
https://github.com/WebKit/WebKit/settings/notifications
___
webkit-changes mailing list
webkit-changes@lists.webkit.org
https://lists.webkit.org/mailman/listinfo/webkit-changes


[webkit-changes] [WebKit/WebKit] cf7cd9: Use-after-free in WebCore::WaveShaperDSPKernel::pr...

2024-05-15 Thread Aditya Keerthi
udioBuffer::releaseMemory):

Replace the single boolean flag (`m_needsAdditionalNoise`) with a 
`m_noiseInjectionMultiplier`,
which indicates the magnitude of noise injection (the standard deviation of the 
normal distribution
used to inject noise).

(WebCore::AudioBuffer::copyToChannel):
(WebCore::AudioBuffer::zero):
(WebCore::AudioBuffer::copyTo const):
(WebCore::AudioBuffer::applyNoiseIfNeeded):
* Source/WebCore/Modules/webaudio/AudioBuffer.h:
(WebCore::AudioBuffer::increaseNoiseInjectionMultiplier):
(WebCore::AudioBuffer::noiseInjectionMultiplier const):
(WebCore::AudioBuffer::setNeedsAdditionalNoise): Deleted.
* Source/WebCore/Modules/webaudio/AudioBufferSourceNode.cpp:
(WebCore::AudioBufferSourceNode::noiseInjectionMultiplier const):

Increase the noise injection level for an audio buffer, if it's downstream from 
an
`AudioBufferSourceNode` that loops many times. For an audio buffer source that 
loops more than 200
times, this boosts the existing noise level for the audio buffer by a factor of 
0.005 per loop,
leading to a massive amount of noise in the case where a tiny sample is looped 
back-to-back in a
large buffer.

* Source/WebCore/Modules/webaudio/AudioBufferSourceNode.h:
* Source/WebCore/Modules/webaudio/AudioNode.h:
(WebCore::AudioNode::noiseInjectionMultiplier const):

Add a subclassing hook that allows each `AudioNode` subclass to inject 
additional noise when reading
back the final `AudioBuffer`. This allows us to selectively increase the amount 
of injected noise
when using specific types of audio nodes, which are known to expose larger 
differences w.r.t. the
underlying OS or CPU architecture.

* Source/WebCore/Modules/webaudio/AudioNodeOutput.cpp:
(WebCore::AudioNodeOutput::forEachInputNode const):

Add a helper method to iterate over each input node (i.e. the next destination 
in the processing
graph) that's attached to this output. Note that this must be called from 
underneath the context's
graph lock.

* Source/WebCore/Modules/webaudio/AudioNodeOutput.h:
* Source/WebCore/Modules/webaudio/AudioWorkletNode.cpp:
(WebCore::AudioWorkletNode::process):

Increase the noise level when passing raw data into worklets, to adjust for the 
new normally-
distributed noise injection.

* Source/WebCore/Modules/webaudio/BaseAudioContext.h:
(WebCore::BaseAudioContext::referencedSourceNodes const):

Add a helper method to iterate over all source nodes in the audio context; must 
be called only when
the context's graph lock is held.

* Source/WebCore/Modules/webaudio/DynamicsCompressorNode.h:

Add additional buffer readback noise when using certain audio node types.

* Source/WebCore/Modules/webaudio/OfflineAudioContext.cpp:
(WebCore::OfflineAudioContext::OfflineAudioContext):
(WebCore::OfflineAudioContext::lazyInitialize):
(WebCore::OfflineAudioContext::increaseNoiseMultiplierIfNeeded):

Upon initialization, traverse the audio processing graph in search for audio 
nodes that warrant
additional noise injection, and accumulate this extra noise on the target 
buffer.

* Source/WebCore/Modules/webaudio/OfflineAudioContext.h:
* Source/WebCore/Modules/webaudio/OscillatorNode.h:
* Source/WebCore/platform/audio/AudioUtilities.cpp:
(WebCore::AudioUtilities::applyNoise):

Switch to normally-distributed noise injection, rather than uniformally random 
noise. Additionally,
ensure that if a value appears again in the same buffer, it'll use the same, 
previously computed
noise multiplier value instead of a newly generated random value.

* Source/WebCore/platform/audio/AudioUtilities.h:
* Tools/TestWebKitAPI/Tests/WebKit/AdvancedPrivacyProtections.mm:
(TestWebKitAPI::TEST):
* Tools/TestWebKitAPI/Tests/WebKitCocoa/audio-fingerprinting.html:

Add a new test case to exercise these mitigations.

Originally-landed-as: 272448.707@safari-7618-branch (3c7dd1781475). 
rdar://128089250
Canonical link: https://commits.webkit.org/278815@main


  Commit: ef2e9b1c7fdb76cdc1ba094c5643c0cb0e4899e7
  
https://github.com/WebKit/WebKit/commit/ef2e9b1c7fdb76cdc1ba094c5643c0cb0e4899e7
  Author: Aditya Keerthi 
  Date:   2024-05-15 (Wed, 15 May 2024)

  Changed paths:
A 
LayoutTests/fast/forms/ios/file-upload-panel-dismiss-when-view-removed-from-window-expected.txt
A 
LayoutTests/fast/forms/ios/file-upload-panel-dismiss-when-view-removed-from-window.html
M Source/WebKit/UIProcess/Cocoa/WKContactPicker.h
M Source/WebKit/UIProcess/Cocoa/WKContactPicker.mm
M Source/WebKit/UIProcess/ios/WKContentView.mm
M Source/WebKit/UIProcess/ios/WKContentViewInteraction.h
M Source/WebKit/UIProcess/ios/WKContentViewInteraction.mm

  Log Message:
  ---
  [iOS] File picker dialog remains after opening a new tab in 3rd-party browsers
https://bugs.webkit.org/show_bug.cgi?id=265602
rdar://119001046

Reviewed by Abrar Rahman Protyasha.

The file upload panel does not dismiss itself after a new tab is opened, and can
end up displayed over a site that's unrelated to the one requesting the upload.

The panel itself is a 

[jira] [Commented] (HUDI-7383) CDC query failed due to dependency issue

2024-05-15 Thread Aditya Goenka (Jira)


[ 
https://issues.apache.org/jira/browse/HUDI-7383?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=17846687#comment-17846687
 ] 

Aditya Goenka commented on HUDI-7383:
-

Fixed in [https://github.com/apache/hudi/pull/10877]

 

[~xushiyan] We are close this I guess.

> CDC query failed due to dependency issue
> 
>
> Key: HUDI-7383
> URL: https://issues.apache.org/jira/browse/HUDI-7383
> Project: Apache Hudi
>  Issue Type: Bug
>  Components: incremental-query
>Affects Versions: 0.14.0, 0.14.1
>Reporter: Shiyan Xu
>Priority: Blocker
>
> {code:java}
> spark-sql (default)> select count(*) from hudi_table_changes('tbl', 'cdc', 
> '20240205084624923', '20240205091637412');
> 24/02/05 09:47:46 WARN TaskSetManager: Lost task 10.0 in stage 28.0 (TID 
> 1515) (ip-10-0-117-21.us-west-2.compute.internal executor 3): 
> java.lang.NoClassDefFoundError: 
> org/apache/hudi/com/fasterxml/jackson/module/scala/DefaultScalaModule$
>     at 
> org.apache.hudi.cdc.HoodieCDCRDD$CDCFileGroupIterator.(HoodieCDCRDD.scala:237)
>     at org.apache.hudi.cdc.HoodieCDCRDD.compute(HoodieCDCRDD.scala:101)
>     at org.apache.spark.rdd.RDD.computeOrReadCheckpoint(RDD.scala:364)
>     at org.apache.spark.rdd.RDD.iterator(RDD.scala:328)
>     at 
> org.apache.spark.rdd.MapPartitionsRDD.compute(MapPartitionsRDD.scala:52)
>     at org.apache.spark.rdd.RDD.computeOrReadCheckpoint(RDD.scala:364)
>     at org.apache.spark.rdd.RDD.iterator(RDD.scala:328)
>     at 
> org.apache.spark.rdd.MapPartitionsRDD.compute(MapPartitionsRDD.scala:52)
>     at org.apache.spark.rdd.RDD.computeOrReadCheckpoint(RDD.scala:364)
>     at org.apache.spark.rdd.RDD.iterator(RDD.scala:328)
>     at 
> org.apache.spark.shuffle.ShuffleWriteProcessor.write(ShuffleWriteProcessor.scala:59)
>     at 
> org.apache.spark.scheduler.ShuffleMapTask.runTask(ShuffleMapTask.scala:101)
>     at 
> org.apache.spark.scheduler.ShuffleMapTask.runTask(ShuffleMapTask.scala:53)
>     at 
> org.apache.spark.TaskContext.runTaskWithListeners(TaskContext.scala:161)
>     at org.apache.spark.scheduler.Task.run(Task.scala:141)
>     at 
> org.apache.spark.executor.Executor$TaskRunner.$anonfun$run$3(Executor.scala:563)
>     at org.apache.spark.util.Utils$.tryWithSafeFinally(Utils.scala:1541)
>     at org.apache.spark.executor.Executor$TaskRunner.run(Executor.scala:566)
>     at 
> java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149)
>     at 
> java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624)
>     at java.lang.Thread.run(Thread.java:750)
> Caused by: java.lang.ClassNotFoundException: 
> org.apache.hudi.com.fasterxml.jackson.module.scala.DefaultScalaModule$
>     at java.net.URLClassLoader.findClass(URLClassLoader.java:387)
>     at java.lang.ClassLoader.loadClass(ClassLoader.java:418)
>     at java.lang.ClassLoader.loadClass(ClassLoader.java:351)
>     ... 21 more {code}



--
This message was sent by Atlassian Jira
(v8.20.10#820010)


[jira] [Closed] (HUDI-7360) Incremental CDC Query after 0.14.1 upgrade giving Jackson class incompatibility exception

2024-05-15 Thread Aditya Goenka (Jira)


 [ 
https://issues.apache.org/jira/browse/HUDI-7360?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Aditya Goenka closed HUDI-7360.
---
Resolution: Duplicate

> Incremental CDC Query after 0.14.1 upgrade giving Jackson class 
> incompatibility exception
> -
>
> Key: HUDI-7360
> URL: https://issues.apache.org/jira/browse/HUDI-7360
> Project: Apache Hudi
>  Issue Type: Bug
>  Components: incremental-query, reader-core
>Reporter: Aditya Goenka
>Priority: Blocker
> Fix For: 0.15.0
>
>
> Github Issue - [https://github.com/apache/hudi/issues/10590]
> Reproducible code 
> ```
> from typing import Any
> from pyspark import Row
> from pyspark.sql import SparkSession
> from pyspark.sql.functions import col
> spark = SparkSession.builder \
> .appName("Hudi Basics") \
> .config("spark.serializer", "org.apache.spark.serializer.KryoSerializer") \
> .config("spark.jars.packages", 
> "org.apache.hudi:hudi-spark3.3-bundle_2.12:0.13.1") \
> .config("spark.sql.extensions", 
> "org.apache.spark.sql.hudi.HoodieSparkSessionExtension") \
> .config("spark.sql.legacy.timeParserPolicy", "LEGACY") \
> .getOrCreate()
> sc = spark.sparkContext
> table_name = "hudi_trips_cdc"
> base_path = "/tmp/test_issue_10590_4" # Replace for whatever path
> quickstart_utils = sc._jvm.org.apache.hudi.QuickstartUtils
> dataGen = quickstart_utils.DataGenerator()
> inserts = 
> sc._jvm.org.apache.hudi.QuickstartUtils.convertToStringList(dataGen.generateInserts(10))
> def create_df():
> df = spark.read.json(spark.sparkContext.parallelize(inserts, 2))
> return df
> def write_data():
> df = create_df()
> hudi_options = {
> "hoodie.table.name": table_name,
> "hoodie.datasource.write.recordkey.field": "uuid",
> "hoodie.datasource.write.table.type": "MERGE_ON_READ", # This can be either 
> MoR or CoW and the error will still happen
> "hoodie.datasource.write.partitionpath.field": "partitionpath",
> "hoodie.datasource.write.table.name": table_name,
> "hoodie.datasource.write.operation": "upsert",
> "hoodie.table.cdc.enabled": "true", # This can be left enabled, and won"t 
> affect anything unless actually queried as CDC
> "hoodie.datasource.write.precombine.field": "ts",
> "hoodie.upsert.shuffle.parallelism": 2,
> "hoodie.insert.shuffle.parallelism": 2
> }
> df.write.format("hudi") \
> .options(**hudi_options) \
> .mode("overwrite") \
> .save(base_path)
> def update_data():
> updates = quickstart_utils.convertToStringList(dataGen.generateUpdates(10))
> df = spark.read.json(spark.sparkContext.parallelize(updates, 2))
> df.write \
> .format("hudi") \
> .mode("append") \
> .save(base_path)
> def incremental_query():
> ordered_rows: list[Row] = spark.read \
> .format("hudi") \
> .load(base_path) \
> .select(col("_hoodie_commit_time").alias("commit_time")) \
> .orderBy(col("commit_time")) \
> .collect()
> commits: list[Any] = list(map(lambda row: row[0], ordered_rows))
> begin_time = commits[0]
> incremental_read_options = {
> 'hoodie.datasource.query.incremental.format': "cdc", # Uncomment this line to 
> Query as CDC, crashes in 0.14.1
> 'hoodie.datasource.query.type': 'incremental',
> 'hoodie.datasource.read.begin.instanttime': begin_time,
> }
> trips_incremental_df = spark.read \
> .format("hudi") \
> .options(**incremental_read_options) \
> .load(base_path)
> # Error also occurs when using the "from_hudi_table_changes" in 0.14.1
> # sql_query = f""" SELECT * FROM hudi_table_changes ('\{base_path}', 'cdc', 
> 'earliest')"""
> # trips_incremental_df = spark.sql(sql_query)
> trips_incremental_df.show()
> trips_incremental_df.printSchema()
> if __name__ == "__main__":
> write_data()
> update_data()
> incremental_query()
> ```
>  
>  
>  
>  



--
This message was sent by Atlassian Jira
(v8.20.10#820010)


[jira] [Commented] (HUDI-7360) Incremental CDC Query after 0.14.1 upgrade giving Jackson class incompatibility exception

2024-05-15 Thread Aditya Goenka (Jira)


[ 
https://issues.apache.org/jira/browse/HUDI-7360?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=17846686#comment-17846686
 ] 

Aditya Goenka commented on HUDI-7360:
-

Fixed in [https://github.com/apache/hudi/pull/10877]

> Incremental CDC Query after 0.14.1 upgrade giving Jackson class 
> incompatibility exception
> -
>
> Key: HUDI-7360
> URL: https://issues.apache.org/jira/browse/HUDI-7360
> Project: Apache Hudi
>  Issue Type: Bug
>  Components: incremental-query, reader-core
>Reporter: Aditya Goenka
>Priority: Blocker
> Fix For: 0.15.0
>
>
> Github Issue - [https://github.com/apache/hudi/issues/10590]
> Reproducible code 
> ```
> from typing import Any
> from pyspark import Row
> from pyspark.sql import SparkSession
> from pyspark.sql.functions import col
> spark = SparkSession.builder \
> .appName("Hudi Basics") \
> .config("spark.serializer", "org.apache.spark.serializer.KryoSerializer") \
> .config("spark.jars.packages", 
> "org.apache.hudi:hudi-spark3.3-bundle_2.12:0.13.1") \
> .config("spark.sql.extensions", 
> "org.apache.spark.sql.hudi.HoodieSparkSessionExtension") \
> .config("spark.sql.legacy.timeParserPolicy", "LEGACY") \
> .getOrCreate()
> sc = spark.sparkContext
> table_name = "hudi_trips_cdc"
> base_path = "/tmp/test_issue_10590_4" # Replace for whatever path
> quickstart_utils = sc._jvm.org.apache.hudi.QuickstartUtils
> dataGen = quickstart_utils.DataGenerator()
> inserts = 
> sc._jvm.org.apache.hudi.QuickstartUtils.convertToStringList(dataGen.generateInserts(10))
> def create_df():
> df = spark.read.json(spark.sparkContext.parallelize(inserts, 2))
> return df
> def write_data():
> df = create_df()
> hudi_options = {
> "hoodie.table.name": table_name,
> "hoodie.datasource.write.recordkey.field": "uuid",
> "hoodie.datasource.write.table.type": "MERGE_ON_READ", # This can be either 
> MoR or CoW and the error will still happen
> "hoodie.datasource.write.partitionpath.field": "partitionpath",
> "hoodie.datasource.write.table.name": table_name,
> "hoodie.datasource.write.operation": "upsert",
> "hoodie.table.cdc.enabled": "true", # This can be left enabled, and won"t 
> affect anything unless actually queried as CDC
> "hoodie.datasource.write.precombine.field": "ts",
> "hoodie.upsert.shuffle.parallelism": 2,
> "hoodie.insert.shuffle.parallelism": 2
> }
> df.write.format("hudi") \
> .options(**hudi_options) \
> .mode("overwrite") \
> .save(base_path)
> def update_data():
> updates = quickstart_utils.convertToStringList(dataGen.generateUpdates(10))
> df = spark.read.json(spark.sparkContext.parallelize(updates, 2))
> df.write \
> .format("hudi") \
> .mode("append") \
> .save(base_path)
> def incremental_query():
> ordered_rows: list[Row] = spark.read \
> .format("hudi") \
> .load(base_path) \
> .select(col("_hoodie_commit_time").alias("commit_time")) \
> .orderBy(col("commit_time")) \
> .collect()
> commits: list[Any] = list(map(lambda row: row[0], ordered_rows))
> begin_time = commits[0]
> incremental_read_options = {
> 'hoodie.datasource.query.incremental.format': "cdc", # Uncomment this line to 
> Query as CDC, crashes in 0.14.1
> 'hoodie.datasource.query.type': 'incremental',
> 'hoodie.datasource.read.begin.instanttime': begin_time,
> }
> trips_incremental_df = spark.read \
> .format("hudi") \
> .options(**incremental_read_options) \
> .load(base_path)
> # Error also occurs when using the "from_hudi_table_changes" in 0.14.1
> # sql_query = f""" SELECT * FROM hudi_table_changes ('\{base_path}', 'cdc', 
> 'earliest')"""
> # trips_incremental_df = spark.sql(sql_query)
> trips_incremental_df.show()
> trips_incremental_df.printSchema()
> if __name__ == "__main__":
> write_data()
> update_data()
> incremental_query()
> ```
>  
>  
>  
>  



--
This message was sent by Atlassian Jira
(v8.20.10#820010)


[webkit-changes] [WebKit/WebKit] 8a064b: REGRESSION (278793@main): Text remains invisible a...

2024-05-15 Thread Aditya Keerthi
  Branch: refs/heads/main
  Home:   https://github.com/WebKit/WebKit
  Commit: 8a064b27ec04249b43582b34e139c14c561b94ca
  
https://github.com/WebKit/WebKit/commit/8a064b27ec04249b43582b34e139c14c561b94ca
  Author: Aditya Keerthi 
  Date:   2024-05-15 (Wed, 15 May 2024)

  Changed paths:
M Source/WebKit/WebProcess/WebPage/Cocoa/WebPageCocoa.mm

  Log Message:
  ---
  REGRESSION (278793@main): Text remains invisible after calling `-[WKWebView 
_disableTextIndicatorStylingWithUUID:]`
https://bugs.webkit.org/show_bug.cgi?id=274199
rdar://128109686

Reviewed by Megan Gardner, Tim Horton and Richard Robinson.

Following 278793@main, `TransparentContent` markers are only removed for ranges
tracked by `UnifiedTextReplacementController`. This is incorrect, as these
markers are also added for ranges created by the `WKWebView` SPI to add text
indicator styles. Consequently, when attempting to remove markers via
`-[WKWebView _disableTextIndicatorStylingWithUUID:]`, nothing happens, leaving
text in an invisible state.

Fix by adding a separate removal path for text indicator styles created using
`WKWebView` SPI.

* Source/WebKit/WebProcess/WebPage/Cocoa/WebPageCocoa.mm:
(WebKit::WebPage::updateTextIndicatorStyleVisibilityForID):

Canonical link: https://commits.webkit.org/278800@main



To unsubscribe from these emails, change your notification settings at 
https://github.com/WebKit/WebKit/settings/notifications
___
webkit-changes mailing list
webkit-changes@lists.webkit.org
https://lists.webkit.org/mailman/listinfo/webkit-changes


[webkit-changes] [WebKit/WebKit] d99b06: Split out :has(:host-context()) invalidation tests

2024-05-14 Thread Aditya Keerthi
  Branch: refs/heads/safari-7617.1.7-branch
  Home:   https://github.com/WebKit/WebKit
  Commit: d99b06aff5d911979f801414110317d18b4c16c7
  
https://github.com/WebKit/WebKit/commit/d99b06aff5d911979f801414110317d18b4c16c7
  Author: Tim Nguyen 
  Date:   2023-09-04 (Mon, 04 Sep 2023)

  Changed paths:
A 
LayoutTests/imported/w3c/web-platform-tests/css/selectors/invalidation/host-context-pseudo-class-in-has-expected.txt
A 
LayoutTests/imported/w3c/web-platform-tests/css/selectors/invalidation/host-context-pseudo-class-in-has.html
M 
LayoutTests/imported/w3c/web-platform-tests/css/selectors/invalidation/host-pseudo-class-in-has-expected.txt
M 
LayoutTests/imported/w3c/web-platform-tests/css/selectors/invalidation/host-pseudo-class-in-has.html

  Log Message:
  ---
  Split out :has(:host-context()) invalidation tests
https://bugs.webkit.org/show_bug.cgi?id=261098
rdar://114918695

Reviewed by Cameron McCormack.

We intentionally don't implement :host-context().

* 
LayoutTests/imported/w3c/web-platform-tests/css/selectors/invalidation/host-context-pseudo-class-in-has-expected.txt:
 Copied from 
LayoutTests/imported/w3c/web-platform-tests/css/selectors/invalidation/host-pseudo-class-in-has-expected.txt.
* 
LayoutTests/imported/w3c/web-platform-tests/css/selectors/invalidation/host-context-pseudo-class-in-has.html:
 Copied from 
LayoutTests/imported/w3c/web-platform-tests/css/selectors/invalidation/host-pseudo-class-in-has.html.
* 
LayoutTests/imported/w3c/web-platform-tests/css/selectors/invalidation/host-pseudo-class-in-has-expected.txt:
* 
LayoutTests/imported/w3c/web-platform-tests/css/selectors/invalidation/host-pseudo-class-in-has.html:

Canonical link: https://commits.webkit.org/267603@main
Identifier: 267603@main


  Commit: e2e482a8af428f4df3ba2a0e25f6041a7e4a9899
  
https://github.com/WebKit/WebKit/commit/e2e482a8af428f4df3ba2a0e25f6041a7e4a9899
  Author: Myah Cobbs 
  Date:   2023-09-05 (Tue, 05 Sep 2023)

  Changed paths:
M Configurations/Version.xcconfig

  Log Message:
  ---
  Versioning.

WebKit-7617.1.7

Identifier: 267602.2@safari-7617.1.7-branch


  Commit: cc54e571b133446b19463d5060ba18ec474a114b
  
https://github.com/WebKit/WebKit/commit/cc54e571b133446b19463d5060ba18ec474a114b
  Author: Russell Epstein 
  Date:   2023-09-07 (Thu, 07 Sep 2023)

  Changed paths:
M Configurations/Version.xcconfig

  Log Message:
  ---
  Versioning.

WebKit-7617.1.7.1

Canonical link: https://commits.webkit.org/267602.3@safari-7617.1.7-branch


  Commit: baa9c617376573df08da6a4b8cde3f39807ff800
  
https://github.com/WebKit/WebKit/commit/baa9c617376573df08da6a4b8cde3f39807ff800
  Author: Dan Robson 
  Date:   2023-09-11 (Mon, 11 Sep 2023)

  Changed paths:
M Configurations/Version.xcconfig

  Log Message:
  ---
  Versioning.

WebKit-7617.1.7.2

Canonical link: https://commits.webkit.org/267602.4@safari-7617.1.7-branch


  Commit: 62aae9784f469e6bfbe63116c9463b7bf8ac9f91
  
https://github.com/WebKit/WebKit/commit/62aae9784f469e6bfbe63116c9463b7bf8ac9f91
  Author: Aditya Keerthi 
  Date:   2023-09-11 (Mon, 11 Sep 2023)

  Changed paths:
M Source/WebKit/UIProcess/ios/fullscreen/WKFullScreenWindowControllerIOS.mm

  Log Message:
  ---
  Cherry-pick 965cb884cefe. rdar://115237220

Unreviewed, fix the internal visionOS build
rdar://115237220

Add a missing `.get()` call when casting a `RetainPtr` to an Objective-C 
object of a different type;
this now surfaces as a compiler warning in some versions of the visionOS 
SDK.

* Source/WebKit/UIProcess/ios/fullscreen/WKFullScreenWindowControllerIOS.mm:
(-[WKFullscreenWindowSceneDelegate methodSignatureForSelector:]):

Canonical link: https://commits.webkit.org/267858@main


Compare: https://github.com/WebKit/WebKit/compare/d99b06aff5d9%5E...62aae9784f46

To unsubscribe from these emails, change your notification settings at 
https://github.com/WebKit/WebKit/settings/notifications
___
webkit-changes mailing list
webkit-changes@lists.webkit.org
https://lists.webkit.org/mailman/listinfo/webkit-changes


[webkit-changes] [WebKit/WebKit] 046928: Versioning.

2024-05-14 Thread Aditya Keerthi
es with underscores

Fix compilation in case of output variables start with underscores.
Make name emission always emit MSL name ANGLE_{name}, so that GLSL `_e`
and `e` cannot clash. This regressed in angleproject:8558.

Bug: b/335744344
Change-Id: Ibae4dba4a24888acc1461582e69d48218ba11176
Canonical link: https://commits.webkit.org/272448.959@safari-7618-branch

Canonical link: https://commits.webkit.org/272448.958@safari-7618.2.12.10-branch


  Commit: 4e7e6f90721fd9c3a3be4d7f564ebb729264fe39
  
https://github.com/WebKit/WebKit/commit/4e7e6f90721fd9c3a3be4d7f564ebb729264fe39
  Author: Dan Robson 
  Date:   2024-04-24 (Wed, 24 Apr 2024)

  Changed paths:
M Source/ThirdParty/ANGLE/src/compiler/translator/msl/Name.cpp
M Source/ThirdParty/ANGLE/src/compiler/translator/msl/TranslatorMSL.cpp
M Source/ThirdParty/ANGLE/src/tests/gl_tests/GLSLTest.cpp

  Log Message:
  ---
  Revert "Cherry-pick bce91c8033e3. rdar://126944294"

This reverts commit 08f0de8d751d2f1ba3df4e312b7c4ce9667ad0e7.

Canonical link: https://commits.webkit.org/272448.959@safari-7618.2.12.10-branch


  Commit: ef7653da4436ada69c80432b6b963335b3926176
  
https://github.com/WebKit/WebKit/commit/ef7653da4436ada69c80432b6b963335b3926176
  Author: Mohsin Qureshi 
  Date:   2024-04-29 (Mon, 29 Apr 2024)

  Changed paths:
M Configurations/Version.xcconfig

  Log Message:
  ---
  Versioning.

WebKit-7618.2.12.10.8

Canonical link: https://commits.webkit.org/272448.960@safari-7618.2.12.10-branch


  Commit: 7cc38cbe11a204f06f5683ddcee4ccbbd4691ce2
  
https://github.com/WebKit/WebKit/commit/7cc38cbe11a204f06f5683ddcee4ccbbd4691ce2
  Author: Dan Robson 
  Date:   2024-05-01 (Wed, 01 May 2024)

  Changed paths:
M Configurations/Version.xcconfig

  Log Message:
  ---
  Versioning.

WebKit-7618.2.12.10.9

Canonical link: https://commits.webkit.org/272448.961@safari-7618.2.12.10-branch


  Commit: 5b0e147c095567387a080a2da87c79f95ed04744
  
https://github.com/WebKit/WebKit/commit/5b0e147c095567387a080a2da87c79f95ed04744
  Author: Aditya Keerthi 
  Date:   2024-05-01 (Wed, 01 May 2024)

  Changed paths:
M Source/WTF/Scripts/Preferences/UnifiedWebPreferences.yaml

  Log Message:
  ---
  Cherry-pick 687fbeefa898. rdar://127259364

[iOS] Unable to upload photos to Adobe Express app
https://bugs.webkit.org/show_bug.cgi?id=273444
rdar://127259364

Reviewed by Abrar Rahman Protyasha and Wenson Hsieh.

Adobe Express does not support HEIC photo uploads.

Disable the setting which only transcodes HEIC photo uploads to JPEG if the
"accept" attribute on file inputs excludes the HEIC MIME type.

Adobe Express specifies "image/*" in order to get support for Adobe 
Illustrator
files, however, they still wish to exclude HEIC. Due to a bug in 
CoreServices,
they are unable to specify a specific MIME type for Illustrator files.
Consequently, they are forced to claim support for all image types.

Fix by restoring the old behavior.

* Source/WTF/Scripts/Preferences/UnifiedWebPreferences.yaml:

Canonical link: https://commits.webkit.org/278196@main

Canonical link: https://commits.webkit.org/272448.962@safari-7618.2.12.10-branch


Compare: https://github.com/WebKit/WebKit/compare/046928bac9d7%5E...5b0e147c0955

To unsubscribe from these emails, change your notification settings at 
https://github.com/WebKit/WebKit/settings/notifications
___
webkit-changes mailing list
webkit-changes@lists.webkit.org
https://lists.webkit.org/mailman/listinfo/webkit-changes


[webkit-changes] [WebKit/WebKit] a946a6: [MultiRep HEIC] Add SPI to WKWebViewConfiguration ...

2024-05-14 Thread Aditya Keerthi
  Branch: refs/heads/main
  Home:   https://github.com/WebKit/WebKit
  Commit: a946a67312c65fb9b5cd3a67f3ad1bd558ba6cb7
  
https://github.com/WebKit/WebKit/commit/a946a67312c65fb9b5cd3a67f3ad1bd558ba6cb7
  Author: Aditya Keerthi 
  Date:   2024-05-14 (Tue, 14 May 2024)

  Changed paths:
M Source/WebKit/UIProcess/API/APIPageConfiguration.h
M Source/WebKit/UIProcess/API/Cocoa/WKWebViewConfiguration.mm
M Source/WebKit/UIProcess/API/Cocoa/WKWebViewConfigurationPrivate.h
M Source/WebKit/UIProcess/API/mac/WKWebViewMac.mm

  Log Message:
  ---
  [MultiRep HEIC] Add SPI to WKWebViewConfiguration to enable insertion
https://bugs.webkit.org/show_bug.cgi?id=274140
rdar://128044097

Reviewed by Abrar Rahman Protyasha.

* Source/WebKit/UIProcess/API/APIPageConfiguration.h:
(API::PageConfiguration::multiRepresentationHEICInsertionEnabled const):
(API::PageConfiguration::setMultiRepresentationHEICInsertionEnabled):
* Source/WebKit/UIProcess/API/Cocoa/WKWebViewConfiguration.mm:
(-[WKWebViewConfiguration encodeWithCoder:]):
(-[WKWebViewConfiguration initWithCoder:]):
(-[WKWebViewConfiguration _setMultiRepresentationHEICInsertionEnabled:]):
(-[WKWebViewConfiguration _multiRepresentationHEICInsertionEnabled]):
* Source/WebKit/UIProcess/API/Cocoa/WKWebViewConfigurationPrivate.h:
* Source/WebKit/UIProcess/API/mac/WKWebViewMac.mm:

Canonical link: https://commits.webkit.org/278765@main



To unsubscribe from these emails, change your notification settings at 
https://github.com/WebKit/WebKit/settings/notifications
___
webkit-changes mailing list
webkit-changes@lists.webkit.org
https://lists.webkit.org/mailman/listinfo/webkit-changes


[webkit-changes] [WebKit/WebKit] efc8e7: Pasting a web archive drops when wrapped...

2024-05-13 Thread Aditya Keerthi
  Branch: refs/heads/main
  Home:   https://github.com/WebKit/WebKit
  Commit: efc8e7c710e136ba7f1472e2e8e4fe829f592af8
  
https://github.com/WebKit/WebKit/commit/efc8e7c710e136ba7f1472e2e8e4fe829f592af8
  Author: Aditya Keerthi 
  Date:   2024-05-13 (Mon, 13 May 2024)

  Changed paths:
M Source/WebCore/editing/SimplifyMarkupCommand.cpp
M Tools/TestWebKitAPI/Tests/WebKitCocoa/PasteWebArchive.mm

  Log Message:
  ---
  Pasting a web archive drops  when wrapped in a 
https://bugs.webkit.org/show_bug.cgi?id=274062
rdar://127319160

Reviewed by Richard Robinson and Abrar Rahman Protyasha.

Pasting a web archive results in markup simplification being performed in
`SimplifyMarkupCommand`, via `ReplaceSelectionCommand`.

However, the logic for simplifying markup is incorrect. It currently
treats all inline elements that have the same style as equivalent. Then,
equivalent elements are removed bottom-up. This means that a ``
inside a `` will be removed, as `` is an inline element,
with no custom style. Removing `` is incorrect, as it can affect the
rendered content due to source selection.

Fix by excluding `` from markup simplification. A better solution
would be to eliminate the `` rather than the ``. However, that
approach requires a complete rewrite of the markup simplification algorithm.

* Source/WebCore/editing/SimplifyMarkupCommand.cpp:
(WebCore::SimplifyMarkupCommand::doApply):
* Tools/TestWebKitAPI/Tests/WebKitCocoa/PasteWebArchive.mm:
(TEST(PasteWebArchive, PreservesPictureInsideSpan)):

Canonical link: https://commits.webkit.org/278714@main



To unsubscribe from these emails, change your notification settings at 
https://github.com/WebKit/WebKit/settings/notifications
___
webkit-changes mailing list
webkit-changes@lists.webkit.org
https://lists.webkit.org/mailman/listinfo/webkit-changes


[webkit-changes] [WebKit/WebKit] 208d70: Cherry-pick 276895@main (b52f2b8abac2). https://bu...

2024-05-13 Thread Aditya Keerthi
  Branch: refs/heads/webkitglib/2.44
  Home:   https://github.com/WebKit/WebKit
  Commit: 208d709bf7604891c1b3f8a082cd29b95f83fef9
  
https://github.com/WebKit/WebKit/commit/208d709bf7604891c1b3f8a082cd29b95f83fef9
  Author: Aditya Keerthi 
  Date:   2024-05-13 (Mon, 13 May 2024)

  Changed paths:
A 
LayoutTests/fast/forms/email-input-type-value-and-multiple-attributes-set-expected.html
A 
LayoutTests/fast/forms/email-input-type-value-and-multiple-attributes-set.html
M Source/WebCore/html/EmailInputType.cpp

  Log Message:
  ---
  Cherry-pick 276895@main (b52f2b8abac2). 
https://bugs.webkit.org/show_bug.cgi?id=271043

REGRESSION (273461@main): The value attribute is not displayed in an input 
field with type="email" and multiple attributes
https://bugs.webkit.org/show_bug.cgi?id=271043
rdar://125221858

Reviewed by Ryosuke Niwa.

273461@main deferred input element shadow tree construction outside of 
attribute
parsing. However, when combined with an earlier change to sanitize the 
value of
email inputs when the multiple attribute is set (263555@main), the deferral 
of
shadow tree construction results in the value not being displayed at all.

The root cause of the issue is the use of `setValueFromRenderer` introduced 
by
263555@main. The use of that method in `EmailInputType::attributeChanged` 
has
always been inappropriate, as it is specifically meant for user 
modifications.
However, in this case, the problem arises from the fact that 
`setValueFromRenderer`
calls `setFormControlValueMatchesRenderer(true)`. This results in the 
elision
of shadow tree construction in `TextFieldInputType::updateInnerTextValue`, 
as
`HTMLTextFormControlElement::setInnerTextValue` is only called if
`formControlValueMatchesRenderer()` returns false. Before 273461@main, this 
elision
was benign, as the shadow tree was constructed at attribute parse time.

Fix by using a more appropriate method to update the email input's value 
when
the multiple attribute is changed.

A new regression test is added. The coverage for the issue fixed by 
263555@main
continues to be provided by the WPT: 
html/semantics/forms/the-input-element/email.html.

* 
LayoutTests/fast/forms/email-input-type-value-and-multiple-attributes-set-expected.html:
 Added.
* 
LayoutTests/fast/forms/email-input-type-value-and-multiple-attributes-set.html: 
Added.
* Source/WebCore/html/EmailInputType.cpp:
(WebCore::EmailInputType::attributeChanged):

Canonical link: https://commits.webkit.org/276895@main



To unsubscribe from these emails, change your notification settings at 
https://github.com/WebKit/WebKit/settings/notifications
___
webkit-changes mailing list
webkit-changes@lists.webkit.org
https://lists.webkit.org/mailman/listinfo/webkit-changes


How to create a custom Debian ISO

2024-05-11 Thread Aditya Garg
Hello

I wanted to create a custom ISO of Debian, with the following customisations:

1. I want to add a custom kernel that supports my Hardware.
2. I want to add my own Apt repo which hosts various software packages to 
support my hardware.

I am not able to get any good documentation for the same. Please help.

How to create a custom Debian ISO

2024-05-11 Thread Aditya Garg
Hello

I wanted to create a custom ISO of Debian, with the following customisations:

1. I want to add a custom kernel that supports my Hardware.
2. I want to add my own Apt repo which hosts various software packages to 
support my hardware.

I am not able to get any good documentation for the same. Please help.

How to create a custom Debian ISO

2024-05-11 Thread Aditya Garg
Hello

I wanted to create a custom ISO of Debian, with the following customisations:

1. I want to add a custom kernel that supports my Hardware.
2. I want to add my own Apt repo which hosts various software packages to 
support my hardware.

I am not able to get any good documentation for the same. Please help.

Re: [FFmpeg-user] VBR encoding not supported ???

2024-05-10 Thread Aditya Dandavate
On Wed, 8 May, 2024, 2:31 pm Moritz Barsnick via ffmpeg-user, <
ffmpeg-user@ffmpeg.org> wrote:

> On Wed, May 08, 2024 at 12:09:52 +0530, Aditya Dandavate wrote:
> > As I use FFMPEG mostly for creating videos that are uploaded to Youtube,
> is
> > it fine to use VP8/Opus in a .webm container ?
>
> As far as I understand, YouTube does support those formats and codecs
> for uploads. Its recommendations are different though, but feel free to
> ignore them, if it works for you:
>
> https://support.google.com/youtube/answer/1722171?hl=en
>
> > Also, Youtube does support VP8, right ?
>
> Yes, AFAIK. Just try it. ;-)
>
> Cheers,
> Moritz
> ___
> ffmpeg-user mailing list
> ffmpeg-user@ffmpeg.org
> https://ffmpeg.org/mailman/listinfo/ffmpeg-user
>
> To unsubscribe, visit link above, or email
> ffmpeg-user-requ...@ffmpeg.org with subject "unsubscribe".
>

Yes, Youtube accepts VP8 video in a .webm container, but I'll stick to x264
and will use Opus (libopus) in .mp4 container instead of AAC as recommended
by Ferdi sir. Youtube accepts H.264/Opus in an .mp4 container.

Thanks anyways 

>
___
ffmpeg-user mailing list
ffmpeg-user@ffmpeg.org
https://ffmpeg.org/mailman/listinfo/ffmpeg-user

To unsubscribe, visit link above, or email
ffmpeg-user-requ...@ffmpeg.org with subject "unsubscribe".


Re: [Maya-Python] PySide6 Transition Guide

2024-05-09 Thread Aditya Mahapatra
Thank you for all the effort you put into this, Marcus!

On Thu, May 9, 2024 at 12:16 PM Justin Israel 
wrote:

>
>
> On Thu, May 9, 2024, 6:31 PM Marcus Ottosson 
> wrote:
>
>> Hi all,
>>
>> With Maya 2025 released, we're now in the domain of PySide6 and Qt 6.
>>
>> We've updated Qt.py to account for this, keeping code written with
>> PySide2, PySide, PyQt4 and PyQt5 running in Maya 2025.
>>
>> - https://github.com/mottosso/Qt.py
>>
>> I've put a transition guide towards the bottom with known needed tweaks,
>> if you encounter anymore, feel free to submit a PR with a tweak to the
>> README for everyone to enjoy. Overall there is little to change, luckily.
>> But there is some.
>>
>> -
>> https://github.com/mottosso/Qt.py?tab=readme-ov-file#qt-6-transition-guide
>>
>> Here's to 8 years of keeping Qt.py alive! :cheers:
>>
>
> Congrats!
>
>> --
>> You received this message because you are subscribed to the Google Groups
>> "Python Programming for Autodesk Maya" group.
>> To unsubscribe from this group and stop receiving emails from it, send an
>> email to python_inside_maya+unsubscr...@googlegroups.com.
>> To view this discussion on the web visit
>> https://groups.google.com/d/msgid/python_inside_maya/b01486a6-87d5-46b6-9717-16b3b70d9b8cn%40googlegroups.com
>> <https://groups.google.com/d/msgid/python_inside_maya/b01486a6-87d5-46b6-9717-16b3b70d9b8cn%40googlegroups.com?utm_medium=email_source=footer>
>> .
>>
> --
> You received this message because you are subscribed to the Google Groups
> "Python Programming for Autodesk Maya" group.
> To unsubscribe from this group and stop receiving emails from it, send an
> email to python_inside_maya+unsubscr...@googlegroups.com.
> To view this discussion on the web visit
> https://groups.google.com/d/msgid/python_inside_maya/CAPGFgA3iStfFK7D0A8fY-cxRUon3694TyygBE0Z0eXqRe2BJnA%40mail.gmail.com
> <https://groups.google.com/d/msgid/python_inside_maya/CAPGFgA3iStfFK7D0A8fY-cxRUon3694TyygBE0Z0eXqRe2BJnA%40mail.gmail.com?utm_medium=email_source=footer>
> .
>


-- 
Regards,

Aditya Mahapatra

-- 
You received this message because you are subscribed to the Google Groups 
"Python Programming for Autodesk Maya" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to python_inside_maya+unsubscr...@googlegroups.com.
To view this discussion on the web visit 
https://groups.google.com/d/msgid/python_inside_maya/CAFh7C9tpxJsQGrbE9XZum1S2PPfZ6PbMtp4YG_GRKUPuVzACQA%40mail.gmail.com.


Re: [FFmpeg-user] VBR encoding not supported ???

2024-05-08 Thread Aditya Dandavate
As I use FFMPEG mostly for creating videos that are uploaded to Youtube, is
it fine to use VP8/Opus in a .webm container ?

I don't use VP9 yet because encoding is pretty slow and taxing to my Intel
Core i3-1005G1 processor.

Also, Youtube does support VP8, right ?

On Sun, 28 Apr, 2024, 9:55 pm Ferdi Scholten,  wrote:

> On 28-04-2024 12:44, Aditya Dandavate wrote:
> > I was converting flac audio to aac_lc with libfdk_aac with VBR encoding.
> > But I saw a message about VBR encoding.
> >
> > The command and output of the command is as follows :
> >
> > Command :
> >
> > ffmpeg.exe -i input.flac -c:a libfdk_aac -afterburner 1 -frame_length
> 1024
> > -cutoff 0 -vbr 5 -profile:a aac_low output.m4a°
> >
> > Output :
> >
> > F:\DSDA-Doom>ffmpeg.exe -i input.flac -c:a libfdk_aac -afterburner 1
> > -cutoff 0 -frame_length 1024 -profile:a aac_low -vbr 5 output.m4a
> > ffmpeg version N-115010-ga2cdb2f5be Copyright (c) 2000-2024 the FFmpeg
> > developers
> >built with gcc 13.2.0 (Rev6, Built by MSYS2 project)
> >configuration:  --pkg-config=pkgconf --cc='ccache gcc' --cxx='ccache
> > g++' --ld='ccache g++' --extra-cxxflags=-fpermissive
> > --extra-cflags=-Wno-int-conversion --disable-autodetect
> > --enable-libopus --enable-libvorbis --enable-libx264 --enable-libx265
> > --enable-libaom --disable-debug --enable-libfdk-aac --enable-schannel
> > --enable-gpl --enable-nonfree
> >libavutil  59. 16.101 / 59. 16.101
> >libavcodec 61.  5.103 / 61.  5.103
> >libavformat61.  3.103 / 61.  3.103
> >libavdevice61.  2.100 / 61.  2.100
> >libavfilter10.  2.101 / 10.  2.101
> >libswscale  8.  2.100 /  8.  2.100
> >libswresample   5.  2.100 /  5.  2.100
> >libpostproc58.  2.100 / 58.  2.100
> > Input #0, flac, from 'input.flac':
> >Metadata:
> >  encoder : Lavf61.3.103
> >Duration: 02:05:52.13, start: 0.00, bitrate: 621 kb/s
> >Stream #0:0: Audio: flac, 48000 Hz, stereo, s16
> > Stream mapping:
> >Stream #0:0 -> #0:0 (flac (native) -> aac (libfdk_aac))
> > Press [q] to stop, [?] for help
> > [libfdk_aac @ 01b9623d7400] *Note, the VBR setting is unsupported
> > and only works with some parameter combinations*
> > Output #0, ipod, to 'output.m4a':
> >Metadata:
> >  encoder : Lavf61.3.103
> >Stream #0:0: Audio: aac (LC) (mp4a / 0x6134706D), 48000 Hz, stereo,
> s16
> >Metadata:
> >  encoder : Lavc61.5.103 libfdk_aac
> > [out#0/ipod @ 01b962402280] video:0KiB audio:229238KiB
> > subtitle:0KiB other streams:0KiB global headers:0KiB muxing overhead:
> > 0.605099%
> > size=  230625KiB time=02:05:52.13 bitrate= 250.2kbits/s speed=18.1x
> >
> > F:\DSDA-Doom>pause
> > Press any key to continue . . .
> >
> >
> > So, may I know what's wrong with VBR to the point its unsupported ? Is
> > it going to be removed in the future from the encoder ? Is it
> > considered experimental or stable ?
> >
> >
> > Please tell me about this 
> >
> >
> > Thanks
> >
> Well, the warning is not from ffmpeg but from libfdk_aac and this is the
> reason:
>
>  "As of FDK version 3.4.12, not all combinations of audio object
> types, bitrate modes, channel layouts, and sample rates can be used
> together, due to a limited table of pre-computed values used by the
> encoder. For example, using 96kHz stereo input with the AAC-LC audio
> object type and bitrate mode 5 (VBR 96-112kbps/channel) will result in
> catastrophic failure"
>
> There has been a patch to (partly) resolve this, but it still has
> limits, hence the warning.
>
> Also, VBR 1-4 can only be used with specific (low) sampling rates, only
> 5 can be used for samplerates >15 kHz
>
> Fraunhofer does not recommend using VBR with this codec.
>
> Generally, if your device supports the Opus codec, use that, it has
> (much) better quality at the same bitrate as AAC, or much smaller files
> with the same quality as AAC
> ___
> ffmpeg-user mailing list
> ffmpeg-user@ffmpeg.org
> https://ffmpeg.org/mailman/listinfo/ffmpeg-user
>
> To unsubscribe, visit link above, or email
> ffmpeg-user-requ...@ffmpeg.org with subject "unsubscribe".
>
___
ffmpeg-user mailing list
ffmpeg-user@ffmpeg.org
https://ffmpeg.org/mailman/listinfo/ffmpeg-user

To unsubscribe, visit link above, or email
ffmpeg-user-requ...@ffmpeg.org with subject "unsubscribe".


[webkit-changes] [WebKit/WebKit] 1c0cfd: [Unified Text Replacement] Perform sanitization du...

2024-05-07 Thread Aditya Keerthi
  Branch: refs/heads/main
  Home:   https://github.com/WebKit/WebKit
  Commit: 1c0cfd634d26e2056e9a9eaf56a6ea3de2524099
  
https://github.com/WebKit/WebKit/commit/1c0cfd634d26e2056e9a9eaf56a6ea3de2524099
  Author: Aditya Keerthi 
  Date:   2024-05-07 (Tue, 07 May 2024)

  Changed paths:
M Source/WebCore/editing/WebContentReader.h
M Source/WebCore/editing/cocoa/WebContentReaderCocoa.mm
M Source/WebKit/WebProcess/WebPage/Cocoa/UnifiedTextReplacementController.mm

  Log Message:
  ---
  [Unified Text Replacement] Perform sanitization during attributed string 
conversion
https://bugs.webkit.org/show_bug.cgi?id=273853
rdar://125998208

Reviewed by Wenson Hsieh.

Unwanted attributes may be added when converting attributed strings to markup.
Add a new option to fragment creation to sanitize the markup.

* Source/WebCore/editing/WebContentReader.h:
* Source/WebCore/editing/cocoa/WebContentReaderCocoa.mm:
(WebCore::createFragmentInternal):
* Source/WebKit/WebProcess/WebPage/Cocoa/UnifiedTextReplacementController.mm:
(WebKit::UnifiedTextReplacementController::textReplacementSessionDidReceiveTextWithReplacementRange):

Canonical link: https://commits.webkit.org/278489@main



To unsubscribe from these emails, change your notification settings at 
https://github.com/WebKit/WebKit/settings/notifications
___
webkit-changes mailing list
webkit-changes@lists.webkit.org
https://lists.webkit.org/mailman/listinfo/webkit-changes


[webkit-changes] [WebKit/WebKit] 585d66: Changing font size while the selection is inside a...

2024-05-06 Thread Aditya Keerthi
  Branch: refs/heads/main
  Home:   https://github.com/WebKit/WebKit
  Commit: 585d66186f6e5c359ac442f5caaf1703da59
  
https://github.com/WebKit/WebKit/commit/585d66186f6e5c359ac442f5caaf1703da59
  Author: Aditya Keerthi 
  Date:   2024-05-06 (Mon, 06 May 2024)

  Changed paths:
A LayoutTests/editing/style/apply-font-size-to-picture-expected.txt
A LayoutTests/editing/style/apply-font-size-to-picture.html
M Source/WebCore/editing/ApplyStyleCommand.cpp

  Log Message:
  ---
  Changing font size while the selection is inside a  element breaks 
source selection
https://bugs.webkit.org/show_bug.cgi?id=273782
rdar://123786373

Reviewed by Wenson Hsieh and Ryosuke Niwa.

When changing font properties using editor commands, a  element may wrap
the selected nodes. However, when selecting a  element, the selection
is actually around the contained . Consequently, changing the font 
currently
inserts the  element as a child of the . This behavior breaks
source selection, as  elements should only contain  and 
elements.

Fix by ensuring the  element wraps the .

* LayoutTests/editing/style/apply-font-size-to-picture-expected.txt: Added.
* LayoutTests/editing/style/apply-font-size-to-picture.html: Added.
* Source/WebCore/editing/ApplyStyleCommand.cpp:
(WebCore::ApplyStyleCommand::applyInlineStyleChange):

Canonical link: https://commits.webkit.org/278429@main



To unsubscribe from these emails, change your notification settings at 
https://github.com/WebKit/WebKit/settings/notifications
___
webkit-changes mailing list
webkit-changes@lists.webkit.org
https://lists.webkit.org/mailman/listinfo/webkit-changes


[jira] [Created] (HUDI-7717) hoodie.combine.before.insert silently broken for bulk_insert if meta fields disabled (causes duplicates)

2024-05-06 Thread Aditya Goenka (Jira)
Aditya Goenka created HUDI-7717:
---

 Summary: hoodie.combine.before.insert silently broken for 
bulk_insert if meta fields disabled (causes duplicates)
 Key: HUDI-7717
 URL: https://issues.apache.org/jira/browse/HUDI-7717
 Project: Apache Hudi
  Issue Type: Bug
  Components: writer-core
Reporter: Aditya Goenka
 Fix For: 0.15.0


Github issue - [https://github.com/apache/hudi/issues/11044]



--
This message was sent by Atlassian Jira
(v8.20.10#820010)


Re: PCIE Memory Information

2024-05-05 Thread Aditya Gupta

Hi Ashraf,

On 04/05/24 12:45, Muzammil Ashraf wrote:

Hi All,

I am debugging a PCI subsystem. I saw callbacks registered here to
catch the pcie config read/write request at hw/pci/pci_host.c:201. How
can I make my subregion to overlap this area and How to receive those
pcie config read/write requests to my callbacks?

Can go through this doc: 
https://www.qemu.org/docs/master/devel/memory.html#overlapping-regions-and-priority


Normally the callbacks you mentioned will be registered on a 
MemoryRegion. You can create your own MemoryRegion, and set your custom 
.read, .write callbacks.


And setting the MemoryRegion's priority as a big positive number.


FWIW, had did something like this in past:


+static uint64_t adi_region_read(void *chip10, hwaddr addr, unsigned size) {
+ // your code
+}
+
+static void adi_region_write(void *chip10, hwaddr addr, uint64_t value, 
unsigned size) {

+ // your code
+}
+
+static const MemoryRegionOps adi_region_ops = {
+    .read = adi_region_read,
+    .write = adi_region_write,
+    .endianness = DEVICE_BIG_ENDIAN,
+    .impl = {
+    .min_access_size = 4,
+    .max_access_size = 4,
+    },
+};
+

+    static hwaddr ADI_REGION_BASE = 0x00060100ull + 0x100;
+

+    memory_region_init_io(>adi_region, OBJECT(chip10), 
_region_ops, chip10, "custom region: adityag", 0x100);
+    memory_region_add_subregion(get_system_memory(), ADI_REGION_BASE, 
>adi_region);


Instead of 'get_system_memory', you will have to see what is the PCI 
config region a subregion of.



Then, set the MemoryRegion's priority to some big number.

Then, you can verify if your overlapping was successful, with something 
like this:



+    MemoryRegion *mr = address_space_translate(_space_memory, 
ADI_REGION_BASE, , , false, MEMTXATTRS_UNSPECIFIED);


or

+    cpu_physical_memory_read(ADI_REGION_BASE, , 4);


1st should return your MemoryRegion, and second one should call your 
.read callback.



Thanks,

Aditya Gupta


[jira] [Created] (HUDI-7709) Class Cast Exception while reading the data using TimestampBasedKeyGenerator

2024-05-03 Thread Aditya Goenka (Jira)
Aditya Goenka created HUDI-7709:
---

 Summary: Class Cast Exception while reading the data using 
TimestampBasedKeyGenerator
 Key: HUDI-7709
 URL: https://issues.apache.org/jira/browse/HUDI-7709
 Project: Apache Hudi
  Issue Type: Bug
  Components: reader-core
Reporter: Aditya Goenka
 Fix For: 0.15.0


Github Issue - [https://github.com/apache/hudi/issues/11140]



--
This message was sent by Atlassian Jira
(v8.20.10#820010)


Re: [PATCH v2 09/10] ppc: Make Power11 as default cpu type for 'pseries' and 'powernv'

2024-05-03 Thread Aditya Gupta

On 03/05/24 10:22, Nicholas Piggin wrote:


On Sat Apr 27, 2024 at 12:32 AM AEST, Cédric Le Goater wrote:

On 4/26/24 13:00, Aditya Gupta wrote:

Make Power11 as default cpu type for 'pseries' and 'powernv' machine type,
with Power11 being the newest supported Power processor in QEMU.

This is too early. We should merge Power11 support first, possibly in 9.1,
and then change default in a future release, 9.2, 10.0

Agree. Since P10 is the released chip that is what users will want
to use. Developers can set -cpu by hand.


Yes. I have dropped that patch from my v3.


About v3, I am blocked on a issue due to PCR values being same for P10 & 
P11. Will post the series after that gets sorted out.



Thanks,

Aditya Gupta


Thanks,
Nick




[webkit-changes] [WebKit/WebKit] f2a9b3: Clear text indicator styles when they are no longe...

2024-05-02 Thread Aditya Keerthi
  Branch: refs/heads/main
  Home:   https://github.com/WebKit/WebKit
  Commit: f2a9b394f0e31b740bd20be8aa5a5bf770942fe7
  
https://github.com/WebKit/WebKit/commit/f2a9b394f0e31b740bd20be8aa5a5bf770942fe7
  Author: Aditya Keerthi 
  Date:   2024-05-02 (Thu, 02 May 2024)

  Changed paths:
M Source/WebKit/WebProcess/WebPage/Cocoa/UnifiedTextReplacementController.mm

  Log Message:
  ---
  Clear text indicator styles when they are no longer needed
https://bugs.webkit.org/show_bug.cgi?id=273651
rdar://127334566

Reviewed by Abrar Rahman Protyasha, Megan Gardner and Wenson Hsieh.

* Source/WebKit/WebProcess/WebPage/Cocoa/UnifiedTextReplacementController.mm:
(WebKit::UnifiedTextReplacementController::didEndTextReplacementSession):

Canonical link: https://commits.webkit.org/278296@main



To unsubscribe from these emails, change your notification settings at 
https://github.com/WebKit/WebKit/settings/notifications
___
webkit-changes mailing list
webkit-changes@lists.webkit.org
https://lists.webkit.org/mailman/listinfo/webkit-changes


[webkit-changes] [WebKit/WebKit] d1d995: [Unified Text Replacement] Ensure resources are pr...

2024-05-02 Thread Aditya Keerthi
  Branch: refs/heads/main
  Home:   https://github.com/WebKit/WebKit
  Commit: d1d9950fe6a24be8a180f4d7992b4149f7cd278b
  
https://github.com/WebKit/WebKit/commit/d1d9950fe6a24be8a180f4d7992b4149f7cd278b
  Author: Aditya Keerthi 
  Date:   2024-05-02 (Thu, 02 May 2024)

  Changed paths:
M Source/WebKit/WebProcess/WebPage/Cocoa/UnifiedTextReplacementController.mm

  Log Message:
  ---
  [Unified Text Replacement] Ensure resources are preserved when creating 
fragments
https://bugs.webkit.org/show_bug.cgi?id=273637
rdar://127437226

Reviewed by Abrar Rahman Protyasha and Richard Robinson.

* Source/WebKit/WebProcess/WebPage/Cocoa/UnifiedTextReplacementController.mm:
(WebKit::UnifiedTextReplacementController::textReplacementSessionDidReceiveTextWithReplacementRange):

Canonical link: https://commits.webkit.org/278287@main



To unsubscribe from these emails, change your notification settings at 
https://github.com/WebKit/WebKit/settings/notifications
___
webkit-changes mailing list
webkit-changes@lists.webkit.org
https://lists.webkit.org/mailman/listinfo/webkit-changes


Re: Pgadmin4 for arm64 Linux

2024-05-02 Thread Aditya Toshniwal
Hi Ron,

No, there is no ARM build for Linux yet. You can use python pip wheel
installation.

On Thu, May 2, 2024 at 1:26 PM Ron Jewell  wrote:

> I’m running Linux on VMWare installed on my iMac. Is there an arm64
> pgadmin4 for Linux?   If not could you suggest an alternative?
>
> Thanks
>
> Ron.
>
>
>
>

-- 
Thanks,
Aditya Toshniwal
pgAdmin Hacker | Sr. Software Architect | *enterprisedb.com*
<https://www.enterprisedb.com/>
"Don't Complain about Heat, Plant a TREE"


[PATCH] ppc/pnv: Update Power10's cfam id to use Power10 DD2

2024-05-02 Thread Aditya Gupta
Power10 DD1.0 was dropped in:

commit 8f054d9ee825 ("ppc: Drop support for POWER9 and POWER10 DD1 chips")

Use the newer Power10 DD2 chips cfam id.

Cc: Cédric Le Goater 
Cc: David Gibson 
Cc: Frédéric Barrat 
Cc: Laurent Vivier 
Cc: Mahesh J Salgaonkar 
Cc: Madhavan Srinivasan 
Cc: Nicholas Piggin 
Cc: Paolo Bonzini 
Cc: Thomas Huth 
Signed-off-by: Aditya Gupta 
---
 hw/ppc/pnv.c| 2 +-
 tests/qtest/pnv-xscom.h | 2 +-
 2 files changed, 2 insertions(+), 2 deletions(-)

diff --git a/hw/ppc/pnv.c b/hw/ppc/pnv.c
index 6e3a5ccdec76..06a4e4d13948 100644
--- a/hw/ppc/pnv.c
+++ b/hw/ppc/pnv.c
@@ -2090,7 +2090,7 @@ static void pnv_chip_power10_class_init(ObjectClass 
*klass, void *data)
 PnvChipClass *k = PNV_CHIP_CLASS(klass);
 static const int i2c_ports_per_engine[PNV10_CHIP_MAX_I2C] = {14, 14, 2, 
16};
 
-k->chip_cfam_id = 0x120da0498000ull; /* P10 DD1.0 (with NX) */
+k->chip_cfam_id = 0x220da0498000ull; /* P10 DD2.0 (with NX) */
 k->cores_mask = POWER10_CORE_MASK;
 k->chip_pir = pnv_chip_pir_p10;
 k->intc_create = pnv_chip_power10_intc_create;
diff --git a/tests/qtest/pnv-xscom.h b/tests/qtest/pnv-xscom.h
index 6f62941744a6..5aa1701ea768 100644
--- a/tests/qtest/pnv-xscom.h
+++ b/tests/qtest/pnv-xscom.h
@@ -56,7 +56,7 @@ static const PnvChip pnv_chips[] = {
 .chip_type  = PNV_CHIP_POWER10,
 .cpu_model  = "POWER10",
 .xscom_base = 0x000603fcull,
-.cfam_id= 0x120da0498000ull,
+.cfam_id= 0x220da0498000ull,
 .first_core = 0x0,
 .num_i2c= 4,
 },
-- 
2.44.0




[webkit-changes] [WebKit/WebKit] 926918: [iOS] Unable to autofill username-only pages in WK...

2024-05-01 Thread Aditya Keerthi
  Branch: refs/heads/main
  Home:   https://github.com/WebKit/WebKit
  Commit: 926918ec35d91e1c20a16e5e43ce483fc06e3bad
  
https://github.com/WebKit/WebKit/commit/926918ec35d91e1c20a16e5e43ce483fc06e3bad
  Author: Aditya Keerthi 
  Date:   2024-05-01 (Wed, 01 May 2024)

  Changed paths:
M Source/WebCore/editing/cocoa/AutofillElements.cpp
M Tools/TestWebKitAPI/Tests/ios/WKWebViewAutofillTests.mm

  Log Message:
  ---
  [iOS] Unable to autofill username-only pages in WKWebView
https://bugs.webkit.org/show_bug.cgi?id=273538
rdar://126970887

Reviewed by Wenson Hsieh and Abrar Rahman Protyasha.

As a result of UIKit / AutoFillUI changes in iOS 17.4, username autofill is now
displayed as a suggestion in the keyboard candidates bar on pages that separate
out their username and password fields, like yahoo.com. Previously, this
autofill flow was only available to pages that contained both a username and
password field together.

However, the introduction of standalone username support was a consequence of
other feature work, and never explicitly tested in WKWebView. Due to the way
autofill text suggestions are set up in WebKit, attempting to autofill a
standalone username field, simply drops the content.

Specifically, `AutofillElements::computeAutofillElements` returns `std::nullopt`
if no password field is present. This means that when a username is autofilled
using `-[WKContentView insertTextSuggestion:]` and
`WebPageProxy::autofillLoginCredentials`, the data is simply dropped by an
early return in `WebPage::autofillLoginCredentials`.

Fix by updating `AutofillElements::computeAutofillElements` to handle the
username-only case.

* Source/WebCore/editing/cocoa/AutofillElements.cpp:
(WebCore::AutofillElements::computeAutofillElements):

Support for autofilling specific fields is already present in
`AutofillElements::autofill`, which null checks each individual autofill
element, including the username field.

However, this method currently returns no elements in the case where only a
username field is present. Update to return the username field in the case
where the `autocomplete` value is "username". This restriction corresponds to
the specification of `UITextContentTypeUsername` on the UI process side.

* Tools/TestWebKitAPI/Tests/ios/WKWebViewAutofillTests.mm:
(TestWebKitAPI::TEST(WKWebViewAutoFillTests, StandaloneUsernameField)):

Canonical link: https://commits.webkit.org/278215@main



To unsubscribe from these emails, change your notification settings at 
https://github.com/WebKit/WebKit/settings/notifications
___
webkit-changes mailing list
webkit-changes@lists.webkit.org
https://lists.webkit.org/mailman/listinfo/webkit-changes


Re: [PATCH v2 01/10] ppc/pseries: Add Power11 cpu type

2024-05-01 Thread Aditya Gupta

Hi Cédric,



Skiboot reports :

[    0.121234172,6] P11 DD1.00 detected

It is a DD2.0, with major revision = 0x2, and minor revision = 0. 
Might need some change in skiboot. Will post a v3 series with changes.



The issue was in QEMU, not skiboot.


QEMU sets CFAM id for Power10 as DD1.0 (hw/ppc/pnv.c: 2093):

    k->chip_cfam_id = 0x120da0498000ull; /* P10 DD1.0 (with NX) */

CFAM is same for Power11, and hence for both 'powernv10' and 
'powernv11', skiboot shows DD1.0.


It should be `0x220da0498000` for DD2.0.

Should I update the CFAM in a separate patch ?


Thanks,

Aditya Gupta




Thanks,

- Aditya Gupta



C.




Re: [PATCH v2 09/10] ppc: Make Power11 as default cpu type for 'pseries' and 'powernv'

2024-05-01 Thread Aditya Gupta

Hello David,

On 29/04/24 07:14, David Gibson wrote:

On Fri, Apr 26, 2024 at 04:32:18PM +0200, Cédric le Goater wrote:

On 4/26/24 13:00, Aditya Gupta wrote:

Make Power11 as default cpu type for 'pseries' and 'powernv' machine type,
with Power11 being the newest supported Power processor in QEMU.

This is too early. We should merge Power11 support first, possibly in 9.1,
and then change default in a future release, 9.2, 10.0

Additionally, changes to defaults in pseries must be versioned, so
that the behaviour of existing machine types won't change.


Sure, will take care when pseries default changes in future.


Thanks,

- Aditya Gupta




Re: [PATCH v2 03/10] ppc/pnv: Add a Power11 Pnv11Chip, and a Power11 Machine

2024-05-01 Thread Aditya Gupta

Hello Cédric,

Sorry I missed this mail earlier.
@@ -1846,7 +1863,11 @@ static void 
pnv_chip_power10_quad_realize(Pnv10Chip *chip10, Error **errp)

   for (i = 0; i < chip10->nr_quads; i++) {
   PnvQuad *eq = >quads[i];
-    pnv_chip_quad_realize_one(chip, eq, chip->cores[i * 4],
+    if (chip_class->chip_type == PNV_TYPE_POWER11)
+    pnv_chip_quad_realize_one(chip, eq, chip->cores[i * 4],
+ PNV_QUAD_TYPE_NAME("power11"));
+    else
+    pnv_chip_quad_realize_one(chip, eq, chip->cores[i * 4],
PNV_QUAD_TYPE_NAME("power10"));



Please change introduce a new pnv_chip_quad_realize() routine taking an
extra type_name argument.


Sure, can do it. But as it's called from 'pnv_chip_power10_realize',
might require a 'pnv_chip_power11_realize' function also, so it can pass
type_name as "power11" vs "power10".


Do the Power11 and Power10 processors have the same XSCOM and MMIO
address spaces ?


Yes. Hence using the same base and sizes.


Thanks,

Aditya Gupta




Will do it.





pnv_xscom_add_subregion(chip, PNV10_XSCOM_EQ_BASE(eq->quad_id),
@@ -2116,6 +2137,35 @@ static void 
pnv_chip_power10_class_init(ObjectClass *klass, void *data)

>parent_realize);
   }
+static void pnv_chip_power11_class_init(ObjectClass *klass, void 
*data)

+{
+    DeviceClass *dc = DEVICE_CLASS(klass);
+    PnvChipClass *k = PNV_CHIP_CLASS(klass);
+
+    static const int i2c_ports_per_engine[PNV10_CHIP_MAX_I2C] = 
{14, 14, 2, 16};

+
+    k->chip_cfam_id = 0x120da0498000ull; /* P11 (with NX) */
+    k->chip_type = PNV_TYPE_POWER11;
+    k->cores_mask = POWER11_CORE_MASK;
+    k->chip_pir = pnv_chip_pir_p10;
+    k->intc_create = pnv_chip_power10_intc_create;
+    k->intc_reset = pnv_chip_power10_intc_reset;
+    k->intc_destroy = pnv_chip_power10_intc_destroy;
+    k->intc_print_info = pnv_chip_power10_intc_print_info;
+    k->isa_create = pnv_chip_power10_isa_create;
+    k->dt_populate = pnv_chip_power10_dt_populate;
+    k->pic_print_info = pnv_chip_power10_pic_print_info;
+    k->xscom_core_base = pnv_chip_power10_xscom_core_base;
+    k->xscom_pcba = pnv_chip_power10_xscom_pcba;
+    dc->desc = "PowerNV Chip POWER11";
+    k->num_pecs = PNV10_CHIP_MAX_PEC;
+    k->i2c_num_engines = PNV10_CHIP_MAX_I2C;
+    k->i2c_ports_per_engine = i2c_ports_per_engine;
+
+    device_class_set_parent_realize(dc, pnv_chip_power10_realize,
+ >parent_realize);
+}
+
   static void pnv_chip_core_sanitize(PnvChip *chip, Error **errp)
   {
   PnvChipClass *pcc = PNV_CHIP_GET_CLASS(chip);
@@ -2510,6 +2560,22 @@ static void 
pnv_machine_p10_rainier_class_init(ObjectClass *oc, void *data)

   pmc->i2c_init = pnv_rainier_i2c_init;
   }
+static void pnv_machine_power11_class_init(ObjectClass *oc, void 
*data)

+{
+    MachineClass *mc = MACHINE_CLASS(oc);
+    PnvMachineClass *pmc = PNV_MACHINE_CLASS(oc);
+    static const char compat[] = "qemu,powernv11\0ibm,powernv";
+
+    /* do power10_class_init as p11 core is same as p10 */
+    pnv_machine_p10_common_class_init(oc, data);
+
+    mc->desc = "IBM PowerNV (Non-Virtualized) POWER11";
+    mc->default_cpu_type = POWERPC_CPU_TYPE_NAME("power11");


This should be using a versionned CPU "power11_vx.y".


Okay.




+
+    pmc->compat = compat;
+    pmc->compat_size = sizeof(compat);
+}
+
   static bool pnv_machine_get_hb(Object *obj, Error **errp)
   {
   PnvMachineState *pnv = PNV_MACHINE(obj);
@@ -2613,7 +2679,23 @@ static void 
pnv_machine_class_init(ObjectClass *oc, void *data)

   .parent    = TYPE_PNV10_CHIP,  \
   }
+#define DEFINE_PNV11_CHIP_TYPE(type, class_initfn) \
+    {  \
+    .name  = type, \
+    .class_init    = class_initfn, \
+    .parent    = TYPE_PNV11_CHIP,  \
+    }
+
   static const TypeInfo types[] = {
+    {
+    .name  = MACHINE_TYPE_NAME("powernv11"),
+    .parent    = TYPE_PNV_MACHINE,
+    .class_init    = pnv_machine_power11_class_init,
+    .interfaces = (InterfaceInfo[]) {
+    { TYPE_XIVE_FABRIC },
+    { },
+    },
+    },
   {
   .name  = MACHINE_TYPE_NAME("powernv10-rainier"),
   .parent    = MACHINE_TYPE_NAME("powernv10"),
@@ -2668,6 +2750,16 @@ static const TypeInfo types[] = {
   .abstract  = true,
   },
+    /*
+ * P11 chip and variants
+ */
+    {
+    .name  = TYPE_PNV11_CHIP,
+    .parent    = TYPE_PNV10_CHIP,
+    .instance_size = sizeof(Pnv11Chip),
+    },
+    DEFINE_PNV11_CHIP_TYPE(TYPE_PNV_CHIP_POWER11, 
pnv_chip_power11_class_init),

+
   /*
    * P10 chip and variants
    */
diff --git a/hw/ppc/pnv_core.c b/hw

Re: [PATCH v2 01/10] ppc/pseries: Add Power11 cpu type

2024-05-01 Thread Aditya Gupta

Hi Cédric,

> diff --git a/target/ppc/cpu-models.h b/target/ppc/cpu-models.h

index 0229ef3a9a5c..a1b540c3aa9e 100644
--- a/target/ppc/cpu-models.h
+++ b/target/ppc/cpu-models.h
@@ -354,6 +354,7 @@ enum {
   CPU_POWERPC_POWER10_BASE   = 0x0080,
   CPU_POWERPC_POWER10_DD1    = 0x00801100,
   CPU_POWERPC_POWER10_DD20   = 0x00801200,
+    CPU_POWERPC_POWER11    = 0x00821200,


is that a DD2.2 PVR ? If so, It should be mentionned in the definition.



Yes, I have kept the last 2 bytes same as P10 DD2. I will mention it
above the line I have added it, in v3.


Skiboot reports :

[    0.121234172,6] P11 DD1.00 detected

It is a DD2.0, with major revision = 0x2, and minor revision = 0. Might 
need some change in skiboot. Will post a v3 series with changes.



Thanks,

- Aditya Gupta



C.




Re: [FFmpeg-user] VBR encoding not supported ???

2024-05-01 Thread Aditya Dandavate
Still using Opus (with libopus) encoder, tho.

On Sun, 28 Apr, 2024, 9:55 pm Ferdi Scholten,  wrote:

> On 28-04-2024 12:44, Aditya Dandavate wrote:
> > I was converting flac audio to aac_lc with libfdk_aac with VBR encoding.
> > But I saw a message about VBR encoding.
> >
> > The command and output of the command is as follows :
> >
> > Command :
> >
> > ffmpeg.exe -i input.flac -c:a libfdk_aac -afterburner 1 -frame_length
> 1024
> > -cutoff 0 -vbr 5 -profile:a aac_low output.m4a°
> >
> > Output :
> >
> > F:\DSDA-Doom>ffmpeg.exe -i input.flac -c:a libfdk_aac -afterburner 1
> > -cutoff 0 -frame_length 1024 -profile:a aac_low -vbr 5 output.m4a
> > ffmpeg version N-115010-ga2cdb2f5be Copyright (c) 2000-2024 the FFmpeg
> > developers
> >built with gcc 13.2.0 (Rev6, Built by MSYS2 project)
> >configuration:  --pkg-config=pkgconf --cc='ccache gcc' --cxx='ccache
> > g++' --ld='ccache g++' --extra-cxxflags=-fpermissive
> > --extra-cflags=-Wno-int-conversion --disable-autodetect
> > --enable-libopus --enable-libvorbis --enable-libx264 --enable-libx265
> > --enable-libaom --disable-debug --enable-libfdk-aac --enable-schannel
> > --enable-gpl --enable-nonfree
> >libavutil  59. 16.101 / 59. 16.101
> >libavcodec 61.  5.103 / 61.  5.103
> >libavformat61.  3.103 / 61.  3.103
> >libavdevice61.  2.100 / 61.  2.100
> >libavfilter10.  2.101 / 10.  2.101
> >libswscale  8.  2.100 /  8.  2.100
> >libswresample   5.  2.100 /  5.  2.100
> >libpostproc58.  2.100 / 58.  2.100
> > Input #0, flac, from 'input.flac':
> >Metadata:
> >  encoder : Lavf61.3.103
> >Duration: 02:05:52.13, start: 0.00, bitrate: 621 kb/s
> >Stream #0:0: Audio: flac, 48000 Hz, stereo, s16
> > Stream mapping:
> >Stream #0:0 -> #0:0 (flac (native) -> aac (libfdk_aac))
> > Press [q] to stop, [?] for help
> > [libfdk_aac @ 01b9623d7400] *Note, the VBR setting is unsupported
> > and only works with some parameter combinations*
> > Output #0, ipod, to 'output.m4a':
> >Metadata:
> >  encoder : Lavf61.3.103
> >Stream #0:0: Audio: aac (LC) (mp4a / 0x6134706D), 48000 Hz, stereo,
> s16
> >Metadata:
> >  encoder : Lavc61.5.103 libfdk_aac
> > [out#0/ipod @ 01b962402280] video:0KiB audio:229238KiB
> > subtitle:0KiB other streams:0KiB global headers:0KiB muxing overhead:
> > 0.605099%
> > size=  230625KiB time=02:05:52.13 bitrate= 250.2kbits/s speed=18.1x
> >
> > F:\DSDA-Doom>pause
> > Press any key to continue . . .
> >
> >
> > So, may I know what's wrong with VBR to the point its unsupported ? Is
> > it going to be removed in the future from the encoder ? Is it
> > considered experimental or stable ?
> >
> >
> > Please tell me about this 
> >
> >
> > Thanks
> >
> Well, the warning is not from ffmpeg but from libfdk_aac and this is the
> reason:
>
>  "As of FDK version 3.4.12, not all combinations of audio object
> types, bitrate modes, channel layouts, and sample rates can be used
> together, due to a limited table of pre-computed values used by the
> encoder. For example, using 96kHz stereo input with the AAC-LC audio
> object type and bitrate mode 5 (VBR 96-112kbps/channel) will result in
> catastrophic failure"
>
> There has been a patch to (partly) resolve this, but it still has
> limits, hence the warning.
>
> Also, VBR 1-4 can only be used with specific (low) sampling rates, only
> 5 can be used for samplerates >15 kHz
>
> Fraunhofer does not recommend using VBR with this codec.
>
> Generally, if your device supports the Opus codec, use that, it has
> (much) better quality at the same bitrate as AAC, or much smaller files
> with the same quality as AAC
> ___
> ffmpeg-user mailing list
> ffmpeg-user@ffmpeg.org
> https://ffmpeg.org/mailman/listinfo/ffmpeg-user
>
> To unsubscribe, visit link above, or email
> ffmpeg-user-requ...@ffmpeg.org with subject "unsubscribe".
>
___
ffmpeg-user mailing list
ffmpeg-user@ffmpeg.org
https://ffmpeg.org/mailman/listinfo/ffmpeg-user

To unsubscribe, visit link above, or email
ffmpeg-user-requ...@ffmpeg.org with subject "unsubscribe".


Re: [FFmpeg-user] VBR encoding not supported ???

2024-05-01 Thread Aditya Dandavate
Also, according to my latest tests, HE-AAC v2 also supports VBR encoding
with `-vbr 5` as well.

Also, till now, I used 96khz as sampling rate for vbr 5. I did many encodes
with these settings, but it was all flawless!

I guess, these bugs related to VBR and other things that you mentioned are
all fixed, but I guess the Fraunhofer people forget to remove the warning
it seems.


On Sun, 28 Apr, 2024, 9:55 pm Ferdi Scholten,  wrote:

> On 28-04-2024 12:44, Aditya Dandavate wrote:
> > I was converting flac audio to aac_lc with libfdk_aac with VBR encoding.
> > But I saw a message about VBR encoding.
> >
> > The command and output of the command is as follows :
> >
> > Command :
> >
> > ffmpeg.exe -i input.flac -c:a libfdk_aac -afterburner 1 -frame_length
> 1024
> > -cutoff 0 -vbr 5 -profile:a aac_low output.m4a°
> >
> > Output :
> >
> > F:\DSDA-Doom>ffmpeg.exe -i input.flac -c:a libfdk_aac -afterburner 1
> > -cutoff 0 -frame_length 1024 -profile:a aac_low -vbr 5 output.m4a
> > ffmpeg version N-115010-ga2cdb2f5be Copyright (c) 2000-2024 the FFmpeg
> > developers
> >built with gcc 13.2.0 (Rev6, Built by MSYS2 project)
> >configuration:  --pkg-config=pkgconf --cc='ccache gcc' --cxx='ccache
> > g++' --ld='ccache g++' --extra-cxxflags=-fpermissive
> > --extra-cflags=-Wno-int-conversion --disable-autodetect
> > --enable-libopus --enable-libvorbis --enable-libx264 --enable-libx265
> > --enable-libaom --disable-debug --enable-libfdk-aac --enable-schannel
> > --enable-gpl --enable-nonfree
> >libavutil  59. 16.101 / 59. 16.101
> >libavcodec 61.  5.103 / 61.  5.103
> >libavformat61.  3.103 / 61.  3.103
> >libavdevice61.  2.100 / 61.  2.100
> >libavfilter10.  2.101 / 10.  2.101
> >libswscale  8.  2.100 /  8.  2.100
> >libswresample   5.  2.100 /  5.  2.100
> >libpostproc58.  2.100 / 58.  2.100
> > Input #0, flac, from 'input.flac':
> >Metadata:
> >  encoder : Lavf61.3.103
> >Duration: 02:05:52.13, start: 0.00, bitrate: 621 kb/s
> >Stream #0:0: Audio: flac, 48000 Hz, stereo, s16
> > Stream mapping:
> >Stream #0:0 -> #0:0 (flac (native) -> aac (libfdk_aac))
> > Press [q] to stop, [?] for help
> > [libfdk_aac @ 01b9623d7400] *Note, the VBR setting is unsupported
> > and only works with some parameter combinations*
> > Output #0, ipod, to 'output.m4a':
> >Metadata:
> >  encoder : Lavf61.3.103
> >Stream #0:0: Audio: aac (LC) (mp4a / 0x6134706D), 48000 Hz, stereo,
> s16
> >Metadata:
> >  encoder : Lavc61.5.103 libfdk_aac
> > [out#0/ipod @ 01b962402280] video:0KiB audio:229238KiB
> > subtitle:0KiB other streams:0KiB global headers:0KiB muxing overhead:
> > 0.605099%
> > size=  230625KiB time=02:05:52.13 bitrate= 250.2kbits/s speed=18.1x
> >
> > F:\DSDA-Doom>pause
> > Press any key to continue . . .
> >
> >
> > So, may I know what's wrong with VBR to the point its unsupported ? Is
> > it going to be removed in the future from the encoder ? Is it
> > considered experimental or stable ?
> >
> >
> > Please tell me about this 
> >
> >
> > Thanks
> >
> Well, the warning is not from ffmpeg but from libfdk_aac and this is the
> reason:
>
>  "As of FDK version 3.4.12, not all combinations of audio object
> types, bitrate modes, channel layouts, and sample rates can be used
> together, due to a limited table of pre-computed values used by the
> encoder. For example, using 96kHz stereo input with the AAC-LC audio
> object type and bitrate mode 5 (VBR 96-112kbps/channel) will result in
> catastrophic failure"
>
> There has been a patch to (partly) resolve this, but it still has
> limits, hence the warning.
>
> Also, VBR 1-4 can only be used with specific (low) sampling rates, only
> 5 can be used for samplerates >15 kHz
>
> Fraunhofer does not recommend using VBR with this codec.
>
> Generally, if your device supports the Opus codec, use that, it has
> (much) better quality at the same bitrate as AAC, or much smaller files
> with the same quality as AAC
> ___
> ffmpeg-user mailing list
> ffmpeg-user@ffmpeg.org
> https://ffmpeg.org/mailman/listinfo/ffmpeg-user
>
> To unsubscribe, visit link above, or email
> ffmpeg-user-requ...@ffmpeg.org with subject "unsubscribe".
>
___
ffmpeg-user mailing list
ffmpeg-user@ffmpeg.org
https://ffmpeg.org/mailman/listinfo/ffmpeg-user

To unsubscribe, visit link above, or email
ffmpeg-user-requ...@ffmpeg.org with subject "unsubscribe".


[Crash-utility] Re: [Crash-Utility][PATCH v2 06/13] Fix gdb_interface: restore gdb's output streams at end of gdb_interface

2024-05-01 Thread Aditya Gupta

Hi Tao,

On 30/04/24 08:11, Tao Liu wrote:

Hi Aditya,

Sorry for the late reply.

On Sun, Apr 28, 2024 at 4:46 PM Aditya Gupta  wrote:

Hi Tao,

Thanks for sending the series.

Maybe you missed CCing people ?

Yeah, I will get it fixed in v3.

Sure.

Also this patch's 'author' line is missing, maybe while editing the
commit it messed up ?


I didn't get it clear, where is the 'author' line? Could you give me
an example, maybe show me the 'author' line which is valid in another
patch?


I meant, the 'Author' of this commit changed, if you notice patch #1, #8.

It has a line on top of the patch:

"From: Aditya Gupta "

This is not there in patch #6. Whenever the commit's author is different 
than the mail sender, git format-patch will add this line, and when this 
patch series is merged, git will take the 'From' here as the author.


If you see in your git log of the branch, it will show you as author. 
This would have happened due to editing, resetting the change, commiting 
it again, somewhere the Author field got changed automatically.



I will proceed with testing the series, might do it later, currently my
mails got messed up, I got some mails in Inbox (those patches with me in
Cc), and others in my crash-utility folder (those with Cc: crash-utility).


Could you please check the
https://github.com/liutgnu/crash-dev/commits/tao-rebase-v4? This may
be better for testing.


Sure, I will test that Tao.


Thanks,

Aditya Gupta


Thanks,
Tao Liu

Thanks,
Aditya Gupta

On 28/04/24 09:32, Tao Liu wrote:

Currently for most gdb_interface call, in which a non-null file pointer
is passed, GDB's output stream is replaced with the passed file pointer

Due to this, 'info threads', which is a gdb passthrough, doesn't print any
thread, after support was added to get registers from crash_target:

  crash> info threads
Id   Target Id Frame

This empty output of 'info threads' was due to a subtle bug in
gdb_interface.

After this gdb passthrough is run, 'datatype_info' is called, with file
pointer set to null_fp (pointing to /dev/null). And after
'datatype_info' returns, any output by gdb goes to /dev/null, and hence
the output is lost.

Fix this by restoring the original output streams, after gdb_interface
has handled the output

After this patch:

  crash> info threads
Id   Target Id Frame
  * 12131 bash 0xc0051e40 in crash_fadump (regs=0x0, 
str=0xc2c60510  "sysrq triggered crash") at 
arch/powerpc/kernel/fadump.c:735

Cc: Sourabh Jain
Cc: Hari Bathini
Cc: Mahesh J Salgaonkar
Cc: Naveen N. Rao
Cc: Lianbo Jiang
Cc: HAGIO KAZUHITO(萩尾 一仁)
Cc: Tao Liu
Signed-off-by: Aditya Gupta
Signed-off-by: Tao Liu
---
   gdb-10.2.patch | 53 ++
   1 file changed, 53 insertions(+)

diff --git a/gdb-10.2.patch b/gdb-10.2.patch
index 3694b13..0bed96a 100644
--- a/gdb-10.2.patch
+++ b/gdb-10.2.patch
@@ -16118,3 +16118,56 @@ exit 0
  subclass (SYMBOL_NONE)
{
  /* We can't use an initializer list for members of a base class, and
+--- gdb-10.2/gdb/ui-file.h.orig
 gdb-10.2/gdb/ui-file.h
+@@ -195,6 +195,7 @@ public:
+
+   bool can_emit_style_escape () override;
+
++  FILE *get_stream(void);
+   /* Sets the internal stream to FILE, and saves the FILE's file
+  descriptor in M_FD.  */
+   void set_stream (FILE *file);
+--- gdb-10.2/gdb/ui-file.c.orig
 gdb-10.2/gdb/ui-file.c
+@@ -161,6 +161,12 @@ stdio_file::~stdio_file  ()
+ fclose (m_file);
+ }
+
++FILE*
++stdio_file::get_stream(void)
++{
++  return m_file;
++}
++
+ void
+ stdio_file::set_stream  (FILE *file)
+ {
+--- gdb-10.2/gdb/symtab.c.orig
 gdb-10.2/gdb/symtab.c
+@@ -6964,8 +6964,12 @@ void
+ gdb_command_funnel_1(struct gnu_request *req)
+ {
+ struct symbol *sym;
++FILE *original_stdout_stream = nullptr;
++FILE *original_stderr_stream = nullptr;
+
+ if (req->command != GNU_VERSION && req->command != 
GNU_USER_PRINT_OPTION) {
++original_stdout_stream = (dynamic_cast< stdio_file * 
>gdb_stdout)->get_stream();
++original_stderr_stream = (dynamic_cast< stdio_file * 
>gdb_stderr)->get_stream();
+ (dynamic_castgdb_stdout)->set_stream(req->fp);
+ (dynamic_castgdb_stderr)->set_stream(req->fp);
+ }
+@@ -7068,6 +7072,12 @@ gdb_command_funnel_1(struct gnu_request *req)
+ req->flags |= GNU_COMMAND_FAILED;
+ break;
+ }
++
++/* Restore the streams gdb output was using */
++if (original_stdout_stream)
++(dynamic_castgdb_stdout)->set_stream(original_stdout_stream);
++if (original_stderr_stream)
++(dynamic_castgdb_stderr)->set_stream(original_stderr_stream);
+ }
+
+ /*--
Crash-utility mailing list -- devel@lists.crash-utility.osci.io
To unsubscribe send an emai

[jira] [Created] (HUDI-7698) Introduce config to Return the original partition value from parquet when using CustomKeyGenerator

2024-04-30 Thread Aditya Goenka (Jira)
Aditya Goenka created HUDI-7698:
---

 Summary: Introduce config to Return the original partition value 
from parquet when using CustomKeyGenerator
 Key: HUDI-7698
 URL: https://issues.apache.org/jira/browse/HUDI-7698
 Project: Apache Hudi
  Issue Type: Improvement
  Components: reader-core
Reporter: Aditya Goenka
 Fix For: 1.1.0


Github Issue - [https://github.com/apache/hudi/issues/11002]



--
This message was sent by Atlassian Jira
(v8.20.10#820010)


[webkit-changes] [WebKit/WebKit] 687fbe: [iOS] Unable to upload photos to Adobe Express app

2024-04-30 Thread Aditya Keerthi
  Branch: refs/heads/main
  Home:   https://github.com/WebKit/WebKit
  Commit: 687fbeefa8983eea099702a84f940cbc3ed74b6a
  
https://github.com/WebKit/WebKit/commit/687fbeefa8983eea099702a84f940cbc3ed74b6a
  Author: Aditya Keerthi 
  Date:   2024-04-30 (Tue, 30 Apr 2024)

  Changed paths:
M Source/WTF/Scripts/Preferences/UnifiedWebPreferences.yaml

  Log Message:
  ---
  [iOS] Unable to upload photos to Adobe Express app
https://bugs.webkit.org/show_bug.cgi?id=273444
rdar://127259364

Reviewed by Abrar Rahman Protyasha and Wenson Hsieh.

Adobe Express does not support HEIC photo uploads.

Disable the setting which only transcodes HEIC photo uploads to JPEG if the
"accept" attribute on file inputs excludes the HEIC MIME type.

Adobe Express specifies "image/*" in order to get support for Adobe Illustrator
files, however, they still wish to exclude HEIC. Due to a bug in CoreServices,
they are unable to specify a specific MIME type for Illustrator files.
Consequently, they are forced to claim support for all image types.

Fix by restoring the old behavior.

* Source/WTF/Scripts/Preferences/UnifiedWebPreferences.yaml:

Canonical link: https://commits.webkit.org/278196@main



To unsubscribe from these emails, change your notification settings at 
https://github.com/WebKit/WebKit/settings/notifications
___
webkit-changes mailing list
webkit-changes@lists.webkit.org
https://lists.webkit.org/mailman/listinfo/webkit-changes


[webkit-changes] [WebKit/WebKit] 50602e: [MultiRep HEIC][iOS] Copy/paste results in quality...

2024-04-29 Thread Aditya Keerthi
  Branch: refs/heads/main
  Home:   https://github.com/WebKit/WebKit
  Commit: 50602e4790301374e1134bbc4f564a4e5e90c097
  
https://github.com/WebKit/WebKit/commit/50602e4790301374e1134bbc4f564a4e5e90c097
  Author: Aditya Keerthi 
  Date:   2024-04-29 (Mon, 29 Apr 2024)

  Changed paths:
M Source/WebCore/editing/cocoa/HTMLConverter.mm

  Log Message:
  ---
  [MultiRep HEIC][iOS] Copy/paste results in quality loss
https://bugs.webkit.org/show_bug.cgi?id=273420
rdar://126719532

Reviewed by Wenson Hsieh.

On iOS 17.4+, copying web content no longer writes RTF to the pasteboard.
Instead, web archive data is written, and is only converted to RTF when
pasting. In this scenario, there is no loaded image, only attachment data.
Consequently, existing logic to create `WebMultiRepresentationHEICAttachment`
is elided.

Fix by updating `HTMLConverter::_addAttachmentForElement` to be aware of
`WebMultiRepresentationHEICAttachment`.

* Source/WebCore/editing/cocoa/HTMLConverter.mm:
(HTMLConverter::_addAttachmentForElement):

Canonical link: https://commits.webkit.org/278142@main



To unsubscribe from these emails, change your notification settings at 
https://github.com/WebKit/WebKit/settings/notifications
___
webkit-changes mailing list
webkit-changes@lists.webkit.org
https://lists.webkit.org/mailman/listinfo/webkit-changes


[webkit-changes] [WebKit/WebKit] b4139e: [Unified Text Replacement] Attributed string conve...

2024-04-29 Thread Aditya Keerthi
  Branch: refs/heads/main
  Home:   https://github.com/WebKit/WebKit
  Commit: b4139ed0097c70e6ac9f4bce19b4830d90a0be97
  
https://github.com/WebKit/WebKit/commit/b4139ed0097c70e6ac9f4bce19b4830d90a0be97
  Author: Aditya Keerthi 
  Date:   2024-04-29 (Mon, 29 Apr 2024)

  Changed paths:
M Source/WebCore/editing/WebContentReader.h
M Source/WebCore/editing/cocoa/EditorCocoa.mm
M Source/WebCore/editing/cocoa/WebContentReaderCocoa.mm
M Source/WebKit/WebProcess/WebPage/Cocoa/UnifiedTextReplacementController.mm

  Log Message:
  ---
  [Unified Text Replacement] Attributed string conversion introduces unexpected 
newlines
https://bugs.webkit.org/show_bug.cgi?id=273421
rdar://126644154

Reviewed by Ryosuke Niwa.

Set "InterchangeNewlines" to `NO` for unified text replacement.

Introduce `FragmentCreationOptions` to control behavior.

* Source/WebCore/editing/WebContentReader.h:
(WebCore::createFragment):
* Source/WebCore/editing/cocoa/EditorCocoa.mm:
(WebCore::Editor::replaceSelectionWithAttributedString):
* Source/WebCore/editing/cocoa/WebContentReaderCocoa.mm:
(WebCore::createFragmentInternal):
(WebCore::attributesForAttributedStringConversion):
(WebCore::createFragment):
(WebCore::WebContentReader::readRTFD):
(WebCore::WebContentMarkupReader::readRTFD):
(WebCore::WebContentReader::readRTF):
(WebCore::WebContentMarkupReader::readRTF):
* Source/WebKit/WebProcess/WebPage/Cocoa/UnifiedTextReplacementController.mm:
(WebKit::UnifiedTextReplacementController::textReplacementSessionDidReceiveTextWithReplacementRange):

Canonical link: https://commits.webkit.org/278141@main



To unsubscribe from these emails, change your notification settings at 
https://github.com/WebKit/WebKit/settings/notifications
___
webkit-changes mailing list
webkit-changes@lists.webkit.org
https://lists.webkit.org/mailman/listinfo/webkit-changes


Re: [FFmpeg-user] VBR encoding not supported ???

2024-04-29 Thread Aditya Dandavate
Also, according to `Guidelines for high-quality lossy audio encoding`
guide, is it true that only E-AC3 is "officially" supported in mp4 ? Does
this mean that all other audio codecs like Opus, AAC, mp3 are
illegally/unofficially supported by the container ?

On Sun, 28 Apr, 2024, 9:55 pm Ferdi Scholten,  wrote:

> On 28-04-2024 12:44, Aditya Dandavate wrote:
> > I was converting flac audio to aac_lc with libfdk_aac with VBR encoding.
> > But I saw a message about VBR encoding.
> >
> > The command and output of the command is as follows :
> >
> > Command :
> >
> > ffmpeg.exe -i input.flac -c:a libfdk_aac -afterburner 1 -frame_length
> 1024
> > -cutoff 0 -vbr 5 -profile:a aac_low output.m4a°
> >
> > Output :
> >
> > F:\DSDA-Doom>ffmpeg.exe -i input.flac -c:a libfdk_aac -afterburner 1
> > -cutoff 0 -frame_length 1024 -profile:a aac_low -vbr 5 output.m4a
> > ffmpeg version N-115010-ga2cdb2f5be Copyright (c) 2000-2024 the FFmpeg
> > developers
> >built with gcc 13.2.0 (Rev6, Built by MSYS2 project)
> >configuration:  --pkg-config=pkgconf --cc='ccache gcc' --cxx='ccache
> > g++' --ld='ccache g++' --extra-cxxflags=-fpermissive
> > --extra-cflags=-Wno-int-conversion --disable-autodetect
> > --enable-libopus --enable-libvorbis --enable-libx264 --enable-libx265
> > --enable-libaom --disable-debug --enable-libfdk-aac --enable-schannel
> > --enable-gpl --enable-nonfree
> >libavutil  59. 16.101 / 59. 16.101
> >libavcodec 61.  5.103 / 61.  5.103
> >libavformat61.  3.103 / 61.  3.103
> >libavdevice61.  2.100 / 61.  2.100
> >libavfilter10.  2.101 / 10.  2.101
> >libswscale  8.  2.100 /  8.  2.100
> >libswresample   5.  2.100 /  5.  2.100
> >libpostproc58.  2.100 / 58.  2.100
> > Input #0, flac, from 'input.flac':
> >Metadata:
> >  encoder : Lavf61.3.103
> >Duration: 02:05:52.13, start: 0.00, bitrate: 621 kb/s
> >Stream #0:0: Audio: flac, 48000 Hz, stereo, s16
> > Stream mapping:
> >Stream #0:0 -> #0:0 (flac (native) -> aac (libfdk_aac))
> > Press [q] to stop, [?] for help
> > [libfdk_aac @ 01b9623d7400] *Note, the VBR setting is unsupported
> > and only works with some parameter combinations*
> > Output #0, ipod, to 'output.m4a':
> >Metadata:
> >  encoder : Lavf61.3.103
> >Stream #0:0: Audio: aac (LC) (mp4a / 0x6134706D), 48000 Hz, stereo,
> s16
> >Metadata:
> >  encoder : Lavc61.5.103 libfdk_aac
> > [out#0/ipod @ 01b962402280] video:0KiB audio:229238KiB
> > subtitle:0KiB other streams:0KiB global headers:0KiB muxing overhead:
> > 0.605099%
> > size=  230625KiB time=02:05:52.13 bitrate= 250.2kbits/s speed=18.1x
> >
> > F:\DSDA-Doom>pause
> > Press any key to continue . . .
> >
> >
> > So, may I know what's wrong with VBR to the point its unsupported ? Is
> > it going to be removed in the future from the encoder ? Is it
> > considered experimental or stable ?
> >
> >
> > Please tell me about this 
> >
> >
> > Thanks
> >
> Well, the warning is not from ffmpeg but from libfdk_aac and this is the
> reason:
>
>  "As of FDK version 3.4.12, not all combinations of audio object
> types, bitrate modes, channel layouts, and sample rates can be used
> together, due to a limited table of pre-computed values used by the
> encoder. For example, using 96kHz stereo input with the AAC-LC audio
> object type and bitrate mode 5 (VBR 96-112kbps/channel) will result in
> catastrophic failure"
>
> There has been a patch to (partly) resolve this, but it still has
> limits, hence the warning.
>
> Also, VBR 1-4 can only be used with specific (low) sampling rates, only
> 5 can be used for samplerates >15 kHz
>
> Fraunhofer does not recommend using VBR with this codec.
>
> Generally, if your device supports the Opus codec, use that, it has
> (much) better quality at the same bitrate as AAC, or much smaller files
> with the same quality as AAC
> ___
> ffmpeg-user mailing list
> ffmpeg-user@ffmpeg.org
> https://ffmpeg.org/mailman/listinfo/ffmpeg-user
>
> To unsubscribe, visit link above, or email
> ffmpeg-user-requ...@ffmpeg.org with subject "unsubscribe".
>
___
ffmpeg-user mailing list
ffmpeg-user@ffmpeg.org
https://ffmpeg.org/mailman/listinfo/ffmpeg-user

To unsubscribe, visit link above, or email
ffmpeg-user-requ...@ffmpeg.org with subject "unsubscribe".


Re: [FFmpeg-user] VBR encoding not supported ???

2024-04-28 Thread Aditya Dandavate
Thanks for the info.

I'll use Opus from now on.
___
ffmpeg-user mailing list
ffmpeg-user@ffmpeg.org
https://ffmpeg.org/mailman/listinfo/ffmpeg-user

To unsubscribe, visit link above, or email
ffmpeg-user-requ...@ffmpeg.org with subject "unsubscribe".


[FFmpeg-user] VBR encoding not supported ???

2024-04-28 Thread Aditya Dandavate
I was converting flac audio to aac_lc with libfdk_aac with VBR encoding.
But I saw a message about VBR encoding.

The command and output of the command is as follows :

Command :

ffmpeg.exe -i input.flac -c:a libfdk_aac -afterburner 1 -frame_length 1024
-cutoff 0 -vbr 5 -profile:a aac_low output.m4a°

Output :

F:\DSDA-Doom>ffmpeg.exe -i input.flac -c:a libfdk_aac -afterburner 1
-cutoff 0 -frame_length 1024 -profile:a aac_low -vbr 5 output.m4a
ffmpeg version N-115010-ga2cdb2f5be Copyright (c) 2000-2024 the FFmpeg
developers
  built with gcc 13.2.0 (Rev6, Built by MSYS2 project)
  configuration:  --pkg-config=pkgconf --cc='ccache gcc' --cxx='ccache
g++' --ld='ccache g++' --extra-cxxflags=-fpermissive
--extra-cflags=-Wno-int-conversion --disable-autodetect
--enable-libopus --enable-libvorbis --enable-libx264 --enable-libx265
--enable-libaom --disable-debug --enable-libfdk-aac --enable-schannel
--enable-gpl --enable-nonfree
  libavutil  59. 16.101 / 59. 16.101
  libavcodec 61.  5.103 / 61.  5.103
  libavformat61.  3.103 / 61.  3.103
  libavdevice61.  2.100 / 61.  2.100
  libavfilter10.  2.101 / 10.  2.101
  libswscale  8.  2.100 /  8.  2.100
  libswresample   5.  2.100 /  5.  2.100
  libpostproc58.  2.100 / 58.  2.100
Input #0, flac, from 'input.flac':
  Metadata:
encoder : Lavf61.3.103
  Duration: 02:05:52.13, start: 0.00, bitrate: 621 kb/s
  Stream #0:0: Audio: flac, 48000 Hz, stereo, s16
Stream mapping:
  Stream #0:0 -> #0:0 (flac (native) -> aac (libfdk_aac))
Press [q] to stop, [?] for help
[libfdk_aac @ 01b9623d7400] *Note, the VBR setting is unsupported
and only works with some parameter combinations*
Output #0, ipod, to 'output.m4a':
  Metadata:
encoder : Lavf61.3.103
  Stream #0:0: Audio: aac (LC) (mp4a / 0x6134706D), 48000 Hz, stereo, s16
  Metadata:
encoder : Lavc61.5.103 libfdk_aac
[out#0/ipod @ 01b962402280] video:0KiB audio:229238KiB
subtitle:0KiB other streams:0KiB global headers:0KiB muxing overhead:
0.605099%
size=  230625KiB time=02:05:52.13 bitrate= 250.2kbits/s speed=18.1x

F:\DSDA-Doom>pause
Press any key to continue . . .


So, may I know what's wrong with VBR to the point its unsupported ? Is
it going to be removed in the future from the encoder ? Is it
considered experimental or stable ?


Please tell me about this 


Thanks
___
ffmpeg-user mailing list
ffmpeg-user@ffmpeg.org
https://ffmpeg.org/mailman/listinfo/ffmpeg-user

To unsubscribe, visit link above, or email
ffmpeg-user-requ...@ffmpeg.org with subject "unsubscribe".


[Crash-utility] Re: [Crash-Utility][PATCH v2 06/13] Fix gdb_interface: restore gdb's output streams at end of gdb_interface

2024-04-28 Thread Aditya Gupta

Hi Tao,

Thanks for sending the series.

Maybe you missed CCing people ?

Also this patch's 'author' line is missing, maybe while editing the 
commit it messed up ?


I will proceed with testing the series, might do it later, currently my 
mails got messed up, I got some mails in Inbox (those patches with me in 
Cc), and others in my crash-utility folder (those with Cc: crash-utility).



Thanks,
Aditya Gupta

On 28/04/24 09:32, Tao Liu wrote:

Currently for most gdb_interface call, in which a non-null file pointer
is passed, GDB's output stream is replaced with the passed file pointer

Due to this, 'info threads', which is a gdb passthrough, doesn't print any
thread, after support was added to get registers from crash_target:

 crash> info threads
   Id   Target Id Frame

This empty output of 'info threads' was due to a subtle bug in
gdb_interface.

After this gdb passthrough is run, 'datatype_info' is called, with file
pointer set to null_fp (pointing to /dev/null). And after
'datatype_info' returns, any output by gdb goes to /dev/null, and hence
the output is lost.

Fix this by restoring the original output streams, after gdb_interface
has handled the output

After this patch:

 crash> info threads
   Id   Target Id Frame
 * 12131 bash 0xc0051e40 in crash_fadump (regs=0x0, 
str=0xc2c60510  "sysrq triggered crash") at 
arch/powerpc/kernel/fadump.c:735

Cc: Sourabh Jain 
Cc: Hari Bathini 
Cc: Mahesh J Salgaonkar 
Cc: Naveen N. Rao 
Cc: Lianbo Jiang 
Cc: HAGIO KAZUHITO(萩尾 一仁) 
Cc: Tao Liu 
Signed-off-by: Aditya Gupta 
Signed-off-by: Tao Liu 
---
  gdb-10.2.patch | 53 ++
  1 file changed, 53 insertions(+)

diff --git a/gdb-10.2.patch b/gdb-10.2.patch
index 3694b13..0bed96a 100644
--- a/gdb-10.2.patch
+++ b/gdb-10.2.patch
@@ -16118,3 +16118,56 @@ exit 0
 subclass (SYMBOL_NONE)
   {
 /* We can't use an initializer list for members of a base class, and
+--- gdb-10.2/gdb/ui-file.h.orig
 gdb-10.2/gdb/ui-file.h
+@@ -195,6 +195,7 @@ public:
+
+   bool can_emit_style_escape () override;
+
++  FILE *get_stream(void);
+   /* Sets the internal stream to FILE, and saves the FILE's file
+  descriptor in M_FD.  */
+   void set_stream (FILE *file);
+--- gdb-10.2/gdb/ui-file.c.orig
 gdb-10.2/gdb/ui-file.c
+@@ -161,6 +161,12 @@ stdio_file::~stdio_file ()
+ fclose (m_file);
+ }
+
++FILE*
++stdio_file::get_stream(void)
++{
++  return m_file;
++}
++
+ void
+ stdio_file::set_stream (FILE *file)
+ {
+--- gdb-10.2/gdb/symtab.c.orig
 gdb-10.2/gdb/symtab.c
+@@ -6964,8 +6964,12 @@ void
+ gdb_command_funnel_1(struct gnu_request *req)
+ {
+ struct symbol *sym;
++FILE *original_stdout_stream = nullptr;
++FILE *original_stderr_stream = nullptr;
+
+ if (req->command != GNU_VERSION && req->command != 
GNU_USER_PRINT_OPTION) {
++original_stdout_stream = (dynamic_cast< stdio_file * 
>gdb_stdout)->get_stream();
++original_stderr_stream = (dynamic_cast< stdio_file * 
>gdb_stderr)->get_stream();
+ (dynamic_castgdb_stdout)->set_stream(req->fp);
+ (dynamic_castgdb_stderr)->set_stream(req->fp);
+ }
+@@ -7068,6 +7072,12 @@ gdb_command_funnel_1(struct gnu_request *req)
+ req->flags |= GNU_COMMAND_FAILED;
+ break;
+ }
++
++/* Restore the streams gdb output was using */
++if (original_stdout_stream)
++(dynamic_castgdb_stdout)->set_stream(original_stdout_stream);
++if (original_stderr_stream)
++(dynamic_castgdb_stderr)->set_stream(original_stderr_stream);
+ }
+
+ /*

--
Crash-utility mailing list -- devel@lists.crash-utility.osci.io
To unsubscribe send an email to devel-le...@lists.crash-utility.osci.io
https://${domain_name}/admin/lists/devel.lists.crash-utility.osci.io/
Contribution Guidelines: https://github.com/crash-utility/crash/wiki


Re: [j-nsp] BGP timer

2024-04-27 Thread Aditya Mahale via juniper-nsp
Only way to achieve something like this is either link hold-timer or event
script- depending on your requirement you can use one of the options

On Sat, Apr 27, 2024 at 12:45 AM Lee Starnes via juniper-nsp <
juniper-nsp@puck.nether.net> wrote:

> Hello everyone,
>
> Having difficulty finding a way to prevent BGP from re-establishing after a
> BFD down detect. I am looking for a way to keep the session from
> re-establishing for a configured amount of time (say 5 minutes) to ensure
> we don't have a flapping session for a. link having issues.
>
> We asked the jtac but they came back with the reverse which would keep the
> session up for a certain amount of time before it drops (Not what we want).
>
> Is there a way to do this? We are using MX204 routers and the latest
> 23.4R1.9 Junos.
>
> Best,
>
> -Lee
> ___
> juniper-nsp mailing list juniper-nsp@puck.nether.net
> https://puck.nether.net/mailman/listinfo/juniper-nsp
>
___
juniper-nsp mailing list juniper-nsp@puck.nether.net
https://puck.nether.net/mailman/listinfo/juniper-nsp


  1   2   3   4   5   6   7   8   9   10   >