[PATCH] util/cpuinfo-ppc: Add FreeBSD support

Brad Smith posted 1 patch 4 months, 4 weeks ago
Failed in applying to current master (apply log)
There is a newer version of this series
util/cpuinfo-ppc.c | 7 ++++++-
1 file changed, 6 insertions(+), 1 deletion(-)
[PATCH] util/cpuinfo-ppc: Add FreeBSD support
Posted by Brad Smith 4 months, 4 weeks ago
util/cpuinfo-ppc: Add FreeBSD support

Signed-off-by: Brad Smith <brad@comstyle.com>
---
With corrected sign-off.

Also this was based on the tcg-next branch.

 util/cpuinfo-ppc.c | 7 ++++++-
 1 file changed, 6 insertions(+), 1 deletion(-)

diff --git a/util/cpuinfo-ppc.c b/util/cpuinfo-ppc.c
index 47af55aa0c..0ad634b46f 100644
--- a/util/cpuinfo-ppc.c
+++ b/util/cpuinfo-ppc.c
@@ -14,6 +14,11 @@
 #  include "elf.h"
 # endif
 #endif
+#ifdef __FreeBSD__
+# include <machine/cpu.h>
+# define PPC_FEATURE2_ARCH_3_1		0
+# define PPC_FEATURE2_VEC_CRYPTO	PPC_FEATURE2_HAS_VEC_CRYPTO
+#endif
 
 unsigned cpuinfo;
 
@@ -28,7 +33,7 @@ unsigned __attribute__((constructor)) cpuinfo_init(void)
 
     info = CPUINFO_ALWAYS;
 
-#ifdef CONFIG_LINUX
+#if defined(CONFIG_LINUX) || defined(__FreeBSD__)
     unsigned long hwcap = qemu_getauxval(AT_HWCAP);
     unsigned long hwcap2 = qemu_getauxval(AT_HWCAP2);
 
-- 
2.45.2
Re: [PATCH] util/cpuinfo-ppc: Add FreeBSD support
Posted by Richard Henderson 4 months, 4 weeks ago
On 6/27/24 19:00, Brad Smith wrote:
> util/cpuinfo-ppc: Add FreeBSD support
> 
> Signed-off-by: Brad Smith <brad@comstyle.com>
> ---
> With corrected sign-off.
> 
> Also this was based on the tcg-next branch.
> 
>   util/cpuinfo-ppc.c | 7 ++++++-
>   1 file changed, 6 insertions(+), 1 deletion(-)
> 
> diff --git a/util/cpuinfo-ppc.c b/util/cpuinfo-ppc.c
> index 47af55aa0c..0ad634b46f 100644
> --- a/util/cpuinfo-ppc.c
> +++ b/util/cpuinfo-ppc.c
> @@ -14,6 +14,11 @@
>   #  include "elf.h"
>   # endif
>   #endif
> +#ifdef __FreeBSD__
> +# include <machine/cpu.h>
> +# define PPC_FEATURE2_ARCH_3_1		0

I assume freebsd will eventually add this bit.
Perhaps better with ifndef?


r~

> +# define PPC_FEATURE2_VEC_CRYPTO	PPC_FEATURE2_HAS_VEC_CRYPTO
> +#endif
>   
>   unsigned cpuinfo;
>   
> @@ -28,7 +33,7 @@ unsigned __attribute__((constructor)) cpuinfo_init(void)
>   
>       info = CPUINFO_ALWAYS;
>   
> -#ifdef CONFIG_LINUX
> +#if defined(CONFIG_LINUX) || defined(__FreeBSD__)
>       unsigned long hwcap = qemu_getauxval(AT_HWCAP);
>       unsigned long hwcap2 = qemu_getauxval(AT_HWCAP2);
>
Re: [PATCH] util/cpuinfo-ppc: Add FreeBSD support
Posted by Brad Smith 4 months, 4 weeks ago
On 2024-06-28 12:19 p.m., Richard Henderson wrote:
> On 6/27/24 19:00, Brad Smith wrote:
>> util/cpuinfo-ppc: Add FreeBSD support
>>
>> Signed-off-by: Brad Smith <brad@comstyle.com>
>> ---
>> With corrected sign-off.
>>
>> Also this was based on the tcg-next branch.
>>
>>   util/cpuinfo-ppc.c | 7 ++++++-
>>   1 file changed, 6 insertions(+), 1 deletion(-)
>>
>> diff --git a/util/cpuinfo-ppc.c b/util/cpuinfo-ppc.c
>> index 47af55aa0c..0ad634b46f 100644
>> --- a/util/cpuinfo-ppc.c
>> +++ b/util/cpuinfo-ppc.c
>> @@ -14,6 +14,11 @@
>>   #  include "elf.h"
>>   # endif
>>   #endif
>> +#ifdef __FreeBSD__
>> +# include <machine/cpu.h>
>> +# define PPC_FEATURE2_ARCH_3_1        0
>
> I assume freebsd will eventually add this bit.

Possibly. The other flags are mostly in sync with the Linux flags.
There is no Power 10 support so far.

> Perhaps better with ifndef?
I'll do so just in case.
>
>
> r~
>
>> +# define PPC_FEATURE2_VEC_CRYPTO PPC_FEATURE2_HAS_VEC_CRYPTO
>> +#endif
>>     unsigned cpuinfo;
>>   @@ -28,7 +33,7 @@ unsigned __attribute__((constructor)) 
>> cpuinfo_init(void)
>>         info = CPUINFO_ALWAYS;
>>   -#ifdef CONFIG_LINUX
>> +#if defined(CONFIG_LINUX) || defined(__FreeBSD__)
>>       unsigned long hwcap = qemu_getauxval(AT_HWCAP);
>>       unsigned long hwcap2 = qemu_getauxval(AT_HWCAP2);
>
>