[Bug 265980] memstick image defaults to serial console on Asus PRIME Z690-P D4 / i7-12700 system - EFI FW has no ConOut

2022-08-21 Thread bugzilla-noreply
https://bugs.freebsd.org/bugzilla/show_bug.cgi?id=265980

--- Comment #8 from Ed Maste  ---
Related commit:

commit 14fb9485a4dc9c8212bfae6c2049cb4930f4b8e5
Author: Emmanuel Vadot 
Date:   Fri Nov 8 20:08:44 2019 +

loader.efi: Default to serial if we don't have a ConOut variable

In the EFI implementation in U-Boot no ConOut efi variable is created,
this cause loader to fallback to TERM_EMU implementation which is very
very very slow (and uses the ConOut device in the system table anyway).
The UEFI spec aren't clear as if this variable needs to exists or not.

Reviewed by:imp, kevans

Notes:
svn path=/head/; revision=354559

diff --git a/stand/efi/loader/main.c b/stand/efi/loader/main.c
index c5d664dce65e..641cc7154f13 100644
--- a/stand/efi/loader/main.c
+++ b/stand/efi/loader/main.c
@@ -703,8 +703,11 @@ parse_uefi_con_out(void)
how = 0;
sz = sizeof(buf);
rv = efi_global_getenv("ConOut", buf, );
-   if (rv != EFI_SUCCESS)
+   if (rv != EFI_SUCCESS) {
+   /* If we don't have any ConOut default to serial */
+   how = RB_SERIAL;
goto out;
+   }
ep = buf + sz;
node = (EFI_DEVICE_PATH *)buf;
while ((char *)node < ep) {

-- 
You are receiving this mail because:
You are the assignee for the bug.


Problem reports for b...@freebsd.org that need special attention

2022-08-21 Thread bugzilla-noreply
To view an individual PR, use:
  https://bugs.freebsd.org/bugzilla/show_bug.cgi?id=(Bug Id).

The following is a listing of current problems submitted by FreeBSD users,
which need special attention. These represent problem reports covering
all versions including experimental development code and obsolete releases.

Status  |Bug Id | Description
+---+---
New |197876 | [devfs] an error in devfs leads to data loss and  
New |198797 | [PATCH] Added an option to install BSDstats to bs 
New |202362 | ntp: restore refclocks selection (10.2-RELEASE re 
New |202740 | vi/ex string substitution problem when there is m 
New |204097 | witness_initialize() does not perform bound check 
New |206336 | [patch] usr.sbin/freebsd-update allow proxy confi 
New |209213 | UEFI Loader shows only black screen with Nvidia G 
New |210804 | installerconfig - using ZFS create in custom scri 
New |223470 | freebsd-update: Cannot identify running kernel (/ 
New |230620 | "install -d" issue
New |235085 | [PATCH] Option to make rc.d/sysctl more verbose ( 
New |252123 | fetch(3): Fix wrong usage of proxy when request i 
Open|177821 | sysctl: Some security.jail nodes are funky, dupli 
Open|182466 | [headers] [patch] make  self-contained  
Open|183618 | [panic] Dell PowerEdge R620 -- PERC H710 Mini (mf 
Open|187015 | agpgart: Panic make_dev_credv: bad si_name (error 
Open|192573 | Add ps(1) option: Print process start time in sec 
Open|194925 | [pf] [ifconfig] interface group keywords do not w 
Open|197921 | scheduler: Allow non-migratable threads to bind t 
Open|206528 | Emulex LPe 16002 FC HBA Not Recognized by oce(4)  
Open|206649 | cyapa(4): Add common gestures for Cypress APA I2C 
Open|207940 | stand/efi/boot1: Add boot partition selection 
Open|212608 | sockstat(1) and lsof(8) can not identity the owne 
Open|220246 | syslogd does not send RFC3164-conformant messages 
Open|221305 | Mouse cursor loss when moving cursor while loadin 
Open|221550 | kern.bootfile returns only /kernel on mips64 (ERL 
Open|221854 | makefs: Reject UFS labels that are too long to fi 
Open|226893 | freebsd-update: Support patchlevel argument for f 
Open|231810 | [build] release always fails with "mkimg: partiti 
Open|233578 | Unprivileged local user can prevent other users l 
Open|233988 | freebsd-update: Improve progress output on termin 
Open|236718 | system panics with message: vm_fault_hold: fault  
Open|237287 | moused(8) ignores button release events in virtua 
Open|237924 | Possible infinite loop in function empty_aux_buff 
Open|238183 | cam/scsi/scsi_sa.c: warnings issued by static ana 
Open|238486 | Possible buffer overflow bug in sc_allocate_keybo 
Open|238550 | Touchpad (via SMBus) not working: Synaptics (SYN1 
Open|238638 | mfi: Remove unnecessary pointer printing in mfi.c 
Open|238837 | init: Remove P_SYSTEM flag from PID 1 to allow ea 
Open|241697 | i915kms: Kernel panic loading module on custom ke 
Open|247132 | Fix build error: use of undeclared identifier 'cp 
Open|248352 | mfi(4): Remove RAID map sync functionality
Open|257149 | CFLAGS not passed to whole build  
New |260138 | TPM2 Support in bootloader / kernel in order to r 
New |261306 | Geli rc.d script does not support insertion of US 
New |262957 | mpr(4), mps(4): change formally to formerly   
Open|179832 | manual page of mac_from_text suggests incorrect f 

47 problems total for which you should take action.


[Bug 265980] memstick image defaults to serial console on Asus PRIME Z690-P D4 / i7-12700 system - EFI FW has no ConOut

2022-08-21 Thread bugzilla-noreply
https://bugs.freebsd.org/bugzilla/show_bug.cgi?id=265980

Ed Maste  changed:

   What|Removed |Added

 CC||m...@freebsd.org

--- Comment #7 from Ed Maste  ---
Discussed with manu on IRC, suggested path forward is to look for GOP modes and
default to serial only in the case that there is no ConOut and the mode list is
empty.

-- 
You are receiving this mail because:
You are the assignee for the bug.


[Bug 265980] memstick image defaults to serial console on Asus PRIME Z690-P D4 / i7-12700 system - EFI FW has no ConOut

2022-08-21 Thread bugzilla-noreply
https://bugs.freebsd.org/bugzilla/show_bug.cgi?id=265980

Ed Maste  changed:

   What|Removed |Added

Summary|memstick image defaults to  |memstick image defaults to
   |serial console on Asus  |serial console on Asus
   |PRIME Z690-P D4 / i7-12700  |PRIME Z690-P D4 / i7-12700
   |system  |system - EFI FW has no
   ||ConOut

-- 
You are receiving this mail because:
You are the assignee for the bug.


[Bug 265980] memstick image defaults to serial console on Asus PRIME Z690-P D4 / i7-12700 system

2022-08-21 Thread bugzilla-noreply
https://bugs.freebsd.org/bugzilla/show_bug.cgi?id=265980

--- Comment #6 from Ed Maste  ---
If I disable the UART in the firmware settings the kernel output is visible on
the monitor, but the system hangs after (boot -v):

pcib0: allocated type 4 (0x3f8-0x3f8) for rid 0 of uart0

-- 
You are receiving this mail because:
You are the assignee for the bug.


[Bug 265980] memstick image defaults to serial console on Asus PRIME Z690-P D4 / i7-12700 system

2022-08-21 Thread bugzilla-noreply
https://bugs.freebsd.org/bugzilla/show_bug.cgi?id=265980

--- Comment #5 from Ed Maste  ---
# efivar | grep -- -Con | xargs efivar --device-path
8be4df61-93ca-11d2-aa0d-00e098032b8c-ConIn
:
PciRoot(0x0)/Pci(0x1f,0x0)/Acpi(PNP0303,0x0),/PciRoot(0x0)/Pci(0x14,0x0)/USB(0x5,0x1),/PciRoot(0x0)/Pci(0x14,0x0)/USB(0x8,0x0),/PciRoot(0x0)/Pci(0x14,0x0)/USB(0x8,0x1)

8be4df61-93ca-11d2-aa0d-00e098032b8c-ConInDev
:
PciRoot(0x0)/Pci(0x1f,0x0)/Acpi(PNP0303,0x0),/PciRoot(0x0)/Pci(0x14,0x0)/USB(0x5,0x1),/PciRoot(0x0)/Pci(0x14,0x0)/USB(0x8,0x0),/PciRoot(0x0)/Pci(0x14,0x0)/USB(0x8,0x1)

#

-- 
You are receiving this mail because:
You are the assignee for the bug.


[Bug 265980] memstick image defaults to serial console on Asus PRIME Z690-P D4 / i7-12700 system

2022-08-21 Thread bugzilla-noreply
https://bugs.freebsd.org/bugzilla/show_bug.cgi?id=265980

--- Comment #4 from Ed Maste  ---
Similar issue was reported on the mailing list last year:
https://lists.freebsd.org/archives/freebsd-stable/2021-October/000249.html

-- 
You are receiving this mail because:
You are the assignee for the bug.


[Bug 265980] memstick image defaults to serial console on Asus PRIME Z690-P D4 / i7-12700 system

2022-08-21 Thread bugzilla-noreply
https://bugs.freebsd.org/bugzilla/show_bug.cgi?id=265980

--- Comment #3 from Ed Maste  ---
kenv | grep cons shows:

comconsole_pcidev=""
comconsole_port="1016"
comconsole_speed="9600"
console="efi"

-- 
You are receiving this mail because:
You are the assignee for the bug.


[Bug 265980] memstick image defaults to serial console on Asus PRIME Z690-P D4 / i7-12700 system

2022-08-21 Thread bugzilla-noreply
https://bugs.freebsd.org/bugzilla/show_bug.cgi?id=265980

Ed Maste  changed:

   What|Removed |Added

Version|CURRENT |13.1-RELEASE

--- Comment #2 from Ed Maste  ---
FreeBSD-13.1-RELEASE-amd64-memstick.img.xz behaves the same way.

-- 
You are receiving this mail because:
You are the assignee for the bug.


[Bug 265980] memstick image defaults to serial console on Asus PRIME Z690-P D4 / i7-12700 system

2022-08-21 Thread bugzilla-noreply
https://bugs.freebsd.org/bugzilla/show_bug.cgi?id=265980

--- Comment #1 from Ed Maste  ---
Also, if I manually run "console=comconsole" from the loader I get a console at
9600 baud, for both the loader and kernel.

If I don't interact with the loader at all the serial port has no activity
until the kernel starts, and the serial console is at 115200.

-- 
You are receiving this mail because:
You are the assignee for the bug.


[Bug 265980] memstick image defaults to serial console on Asus PRIME Z690-P D4 / i7-12700 system

2022-08-21 Thread bugzilla-noreply
https://bugs.freebsd.org/bugzilla/show_bug.cgi?id=265980

Bug ID: 265980
   Summary: memstick image defaults to serial console on Asus
PRIME Z690-P D4 / i7-12700 system
   Product: Base System
   Version: CURRENT
  Hardware: Any
OS: Any
Status: New
  Severity: Affects Only Me
  Priority: ---
 Component: misc
  Assignee: b...@freebsd.org
  Reporter: ema...@freebsd.org

I acquired a Intel i7-12700 and Asus PRIME Z690-P D4 motherboard for P/E core
experimentation, and tried installing from a memstick snapshot image
FreeBSD-14.0-CURRENT-amd64-20220819-545db925c3d-257513-memstick.img.xz

On my first attempt I see the screen blank after the loader, and then a short
while later a block cursor appear in the upper left hand corner.  Nothing else
happens.

The port has an onboard COM header but I had no cable. After acquiring one I
see that the system defaulted to a primary serial console at 115200. The video
console was unresponsive because the serial console was waiting at:

Welcome to FreeBSD!

Please choose the appropriate terminal type for your system.
Common console types are:
   ansi Standard ANSI terminal
   vt100VT100 or compatible terminal
   xtermxterm terminal emulator (or compatible)
   cons25w  cons25w terminal

Console type [vt100]:

-- 
You are receiving this mail because:
You are the assignee for the bug.


[Bug 265974] SMR has several missing barriers

2022-08-21 Thread bugzilla-noreply
https://bugs.freebsd.org/bugzilla/show_bug.cgi?id=265974

--- Comment #2 from Pierre Habouzit  ---
Created attachment 236040
  --> https://bugs.freebsd.org/bugzilla/attachment.cgi?id=236040=edit
proper litmus test

-- 
You are receiving this mail because:
You are the assignee for the bug.


[Bug 265974] SMR has several missing barriers

2022-08-21 Thread bugzilla-noreply
https://bugs.freebsd.org/bugzilla/show_bug.cgi?id=265974

--- Comment #1 from Pierre Habouzit  ---
whoops the `smr_enter-bad.litmus` has a dmb sy that isn't there today, it
should be:


```
AArch64 MP
{
global = 0;
wr_seq = 123;
p1_rd_seq = 0;

0:x0 = global; 0:x1 = wr_seq; 0:x2 = p1_rd_seq;
1:x0 = global; 1:x1 = wr_seq; 1:x2 = p1_rd_seq;
}
 P0 | P1 ;
 MOV  X8, #2| LDRX8, [X1];
 STR  X8, [X0]  |;
 LDADDL   X8, X9, [X1]  | LDADDA X8, X9, [X2];
| LDRX10, [X0]   ;
 LDR  X10, [X2] |;
exists (0:X10 = 0 /\ 1:X8 = 123 /\ 1:X10 = 0)
```

I'll update the tarball

-- 
You are receiving this mail because:
You are the assignee for the bug.


[Bug 265974] SMR has several missing barriers

2022-08-21 Thread bugzilla-noreply
https://bugs.freebsd.org/bugzilla/show_bug.cgi?id=265974

Bug ID: 265974
   Summary: SMR has several missing barriers
   Product: Base System
   Version: CURRENT
  Hardware: arm64
OS: Any
Status: New
  Severity: Affects Many People
  Priority: ---
 Component: kern
  Assignee: b...@freebsd.org
  Reporter: pie...@habouzit.net

Created attachment 236039
  --> https://bugs.freebsd.org/bugzilla/attachment.cgi?id=236039=edit
tarball of litmus tests and pdfs

1. smr_enter() ordering is incorrect on arm64 (and probably other weak memory
order systems)

```C
static inline void
smr_enter(smr_t smr)
{
[...]
/* This is an add because we do not have atomic_store_acq_int */
atomic_add_acq_int(>c_seq, smr_shared_current(smr->c_shared));
}
```

the comment here has a point, there's no atomic_store_acq_int because that
would be a StoreLoad barrier which `atomic_add_acq_int` isn't sufficient for.
Here is a litmus test that proves why this code above isn't correct. Let's
assume 2 threads running something akin to this:

start:
global = 0
rd_seq = 123
wr_seq = 123

thread 0:
store(, 2);
smr_synchronize();

thread 1:
smr_enter();
load();


it should NOT be possible for thread 2 to load `0` and for smr_synchronize() to
think thread 1 was not in a critical section pinning `123`

Moreover, smr_poll() absolutely needs a full memory barrier on entry, the
`atomic_load_acq_int` performed by `smr_poll` aren't sufficient.


```
AArch64 MP
{
global = 0;
wr_seq = 123;
p1_rd_seq = 0;

0:x0 = global; 0:x1 = wr_seq; 0:x2 = p1_rd_seq;
1:x0 = global; 1:x1 = wr_seq; 1:x2 = p1_rd_seq;
}
 P0 | P1 ;
 MOV  X8, #2| LDRX8, [X1];
 STR  X8, [X0]  | STRX8, [X2];
 LDADDL   X8, X9, [X1]  | DMBSY  ;
 DMB  SY| LDRX10, [X0]   ;
 LDR  X10, [X2] |;
exists (0:X10 = 0 /\ 1:X8 = 123 /\ 1:X10 = 0)
```

This litmus test above shows that the condition is unfortunately reachable, the
one below passes (adding a full barrier in smr_scan() and adding a full barrier
in smr_enter()):

```
AArch64 MP
{
global = 0;
wr_seq = 123;
p1_rd_seq = 0;

0:x0 = global; 0:x1 = wr_seq; 0:x2 = p1_rd_seq;
1:x0 = global; 1:x1 = wr_seq; 1:x2 = p1_rd_seq;
}
 P0 | P1 ;
 MOV  X8, #2| LDRX8, [X1];
 STR  X8, [X0]  | STRX8, [X2];
 LDADDL   X8, X9, [X1]  | DMBSY  ;
 DMB  SY| LDRX10, [X0]   ;
 LDR  X10, [X2] |;
exists (0:X10 = 0 /\ 1:X8 = 123 /\ 1:X10 = 0)
```


Note that I think the code works on Intel today.

2. similarly smr_poll_scan() needs a full barrier after the scan _before_ it
updates the global rd_seq, this is about serializing the fast path of smr_poll
with CPUs that weren't in a critical section (while the one on entry of
smr_poll() is about synchronizing with the CPUs inside an active SMR critical
section and was demonstrated in (1)).

I confess that litmus test is much more painful to write and is left as an
exercise to the reader ;)


3. smr_deferred_advance() is similarly incorrect as it doesn't guarantee proper
visibility in this case:

start:
global = 0
rd_seq = 123
wr_seq = 123

thread 0:
store(, 2);
smr_deferred_advance(); // returns 125 but didn't update wr_seq

thread 1:
smr_synchronize(); // 123 -> 125
load();

We should never hit a case when thread1 didn't observe the global being 2 but
thread 1 returned 125.

Here is a modelization of this sequence with the added `dmb sy` from (1) in
smr_poll:

```
AArch64 MP
{
global = 0;
wr_seq = 123;

0:x0 = global; 0:x1 = wr_seq; 0:x2 = 2;
1:x0 = global; 1:x1 = wr_seq; 1:x2 = 2;
}
 P0 | P1 ;
 STR  X2, [X0]  | LDADDL X2, X9, [X1];
| DMBSY  ;
 LDR  X9, [X1]  | LDRX10, [X0]   ;
 ADD  X9, X9, X2|;
exists (0:X9 = 125 /\ 1:X9 = 123 /\ 1:X10 = 0)
```

this unfortunately tells us that the condition is reachable, and intuitively it
makes sense because there's nothing in "P0" ordering anything. The fix is that
when a deferred advance is made, a full barrier must be issued (it has to be a
StoreLoad between the store to the global and the load of the write sequence),
and indeed this litmus test passes:

```
AArch64 MP
{
global = 0;
wr_seq = 123;

0:x0 = global; 0:x1 = wr_seq; 0:x2 = 2;
1:x0 = global; 1:x1 = wr_seq; 1:x2 = 2;
}
 P0 | P1 ;
 STR  X2, [X0]  | LDADDL X2, X9, [X1];
 DMB  SY| DMBSY   

[Bug 263478] awk: syntax error in regular expression $^

2022-08-21 Thread bugzilla-noreply
https://bugs.freebsd.org/bugzilla/show_bug.cgi?id=263478

pproca...@gmail.com changed:

   What|Removed |Added

 CC||pproca...@gmail.com

--- Comment #1 from pproca...@gmail.com ---
The syntax you provided is syntactically correct, however the result of such a
match is undefined.

An argument could be made that '$^' should parse without error, to which I
actually agree as that follows the grammar as posted by you, but I don't see
how '$^' is useful.

If it's working elsewhere, it's working within that 'undefined behavior' realm
which could change the moment POSIX actually defines $^ as having an actual
meaning.  As of right now, it doesn't.

Perhaps you could say, it means 'end of line' then 'newline' but that doesn't
really make sense because you could anchor on either just a newline or end of
line.

Those are my thoughts anyways.

-- 
You are receiving this mail because:
You are the assignee for the bug.


[Bug 243299] fetch(1) fails to handle redirects on a valid URL

2022-08-21 Thread bugzilla-noreply
https://bugs.freebsd.org/bugzilla/show_bug.cgi?id=243299

pproca...@gmail.com changed:

   What|Removed |Added

 Attachment #236031|0   |1
is obsolete||

--- Comment #3 from pproca...@gmail.com ---
Created attachment 236032
  --> https://bugs.freebsd.org/bugzilla/attachment.cgi?id=236032=edit
Updated patch to support redirected relative urls to fetch.

Just added the check to the return of the function   Hey it's 3am ...
sheesh!

-- 
You are receiving this mail because:
You are the assignee for the bug.


[Bug 243299] fetch(1) fails to handle redirects on a valid URL

2022-08-21 Thread bugzilla-noreply
https://bugs.freebsd.org/bugzilla/show_bug.cgi?id=243299

pproca...@gmail.com changed:

   What|Removed |Added

 CC||pproca...@gmail.com

--- Comment #2 from pproca...@gmail.com ---
Created attachment 236031
  --> https://bugs.freebsd.org/bugzilla/attachment.cgi?id=236031=edit
Add support for relative urls in redirect responses

RFC 7231 has support for relative urls.
I saw this bug report and had to check.  I didn't believe it.

The attach patch fixes the op's issue, but truly it needs to be tested with all
kinds of responses.

Additionally, I program in C in a much much different way than the source
file's layout.  Safe to apply, sure, but it'd be wise for someone else to give
it a once over to ensure it conforms to your standards; something someone else
can do if they so choose.

-- 
You are receiving this mail because:
You are the assignee for the bug.