Searched hist:4 (Results 76 - 100 of 3871) sorted by relevance

1234567891011>>

/haiku/src/add-ons/kernel/drivers/network/wlan/realtekwifi/dev/rtwn/
H A Dif_rtwnvar.hdiff 0ba2e27f Tue Jan 15 17:33:06 MST 2019 Andriy Voskoboinyk <avos@FreeBSD.org> wlan: apply iwn,bwi,mwl commits from FreeBSD 13

iwn(4): (partially) rewrite A-MPDU Tx path

Generic Tx stats fixes:
- do not try to parse "aggregation status" for single frames; send them
to iwn_tx_done() instead;
- try to attach mbuf / node reference pair to reported BA events;
allows to fix reported status for ieee80211_tx_complete() and ifnet counters
(previously all A-MPDU frames were counted as failed - see PR 210211);
requires few more firmware bug workarounds;
- preserve short / long retry counters for wlan_amrr(4)
(disabled for now - causes significant performance degradation).
- Add new IWN_DEBUG_AMPDU debug category.
- Add one more check into iwn_tx_data() to prevent aggregation ring
overflow.
- Workaround 'seqno % 256' != 'current Tx slot' case (until D9195 is not
in the tree).
- Improve watchdog timer updates (previously watchdog check was omitted
when at least one frame was transmitted).
- Stop Tx when memory leak in currently used ring was detected (unlikely
to happen).
- Few other minor fixes.

Was previously tested with:
- Intel 6205, STA mode (Tx aggregation behaves much better now).
- Intel 4965AGN, STA mode (still unstable).

PR: 192641, 210211
Reviewed by: adrian, dhw
MFC after: 1 month
Differential Revision: https://reviews.freebsd.org/D10728

iwn(4): drop return code from iwn_*attach functions (they cannot fail)

While here, add missing trace 'end' marker in iwn5000_attach().

MFC after: 1 week

iwn(4): drop i_seq field initialization for A-MPDU frames.

It is done by net80211 since r319460.

MFC after: 24 days
X-MFC-With: 343094

iwn(4): plug initialization path vs interrupt handler races

There are few places in interrupt handler where the driver
lock is dropped; ensure that device is still running before
processing remaining ring entries.

PR: 192641
MFC after: 5 days

iwn: Set default ampdu parameters.

These are from the linux iwlwifi driver ;the default use smaller
maximum AMPDUs (8k) and a much smaller density (none.) The latter
could cause stability issues.

Tested:

* Tested on Intel 6300, STA mode.

Differential Revision: https://reviews.freebsd.org/D25113

bwi: clean up empty lines in .c and .h files

mwl: clean up empty lines in .c and .h files

Fix ieee80211_radiotap(9) usage in wireless drivers:

- Alignment issues:
* Add missing __packed attributes + padding across all drivers; in
most places there was an assumption that padding will be always
minimally suitable; in few places - e.g., in urtw(4) / rtwn(4) -
padding was just missing.
* Add __aligned(8) attribute for all Rx radiotap headers since they can
contain 64-bit TSF timestamp; it cannot appear in Tx radiotap headers, so
just drop the attribute here. Refresh ieee80211_radiotap(9) man page
accordingly.

- Since net80211 automatically updates channel frequency / flags in
ieee80211_radiotap_chan_change() drop duplicate setup for these fields
in drivers.

Tested with Netgear WG111 v3 (urtw(4)), STA mode.

MFC after: 2 weeks

Change-Id: I7f194a3b78a058aa598634039cfab27e415a4894
Reviewed-on: https://review.haiku-os.org/c/haiku/+/3917
Reviewed-by: Adrien Destugues <pulkomandy@gmail.com>
diff 0ba2e27f Tue Jan 15 17:33:06 MST 2019 Andriy Voskoboinyk <avos@FreeBSD.org> wlan: apply iwn,bwi,mwl commits from FreeBSD 13

iwn(4): (partially) rewrite A-MPDU Tx path

Generic Tx stats fixes:
- do not try to parse "aggregation status" for single frames; send them
to iwn_tx_done() instead;
- try to attach mbuf / node reference pair to reported BA events;
allows to fix reported status for ieee80211_tx_complete() and ifnet counters
(previously all A-MPDU frames were counted as failed - see PR 210211);
requires few more firmware bug workarounds;
- preserve short / long retry counters for wlan_amrr(4)
(disabled for now - causes significant performance degradation).
- Add new IWN_DEBUG_AMPDU debug category.
- Add one more check into iwn_tx_data() to prevent aggregation ring
overflow.
- Workaround 'seqno % 256' != 'current Tx slot' case (until D9195 is not
in the tree).
- Improve watchdog timer updates (previously watchdog check was omitted
when at least one frame was transmitted).
- Stop Tx when memory leak in currently used ring was detected (unlikely
to happen).
- Few other minor fixes.

Was previously tested with:
- Intel 6205, STA mode (Tx aggregation behaves much better now).
- Intel 4965AGN, STA mode (still unstable).

PR: 192641, 210211
Reviewed by: adrian, dhw
MFC after: 1 month
Differential Revision: https://reviews.freebsd.org/D10728

iwn(4): drop return code from iwn_*attach functions (they cannot fail)

While here, add missing trace 'end' marker in iwn5000_attach().

MFC after: 1 week

iwn(4): drop i_seq field initialization for A-MPDU frames.

It is done by net80211 since r319460.

MFC after: 24 days
X-MFC-With: 343094

iwn(4): plug initialization path vs interrupt handler races

There are few places in interrupt handler where the driver
lock is dropped; ensure that device is still running before
processing remaining ring entries.

PR: 192641
MFC after: 5 days

iwn: Set default ampdu parameters.

These are from the linux iwlwifi driver ;the default use smaller
maximum AMPDUs (8k) and a much smaller density (none.) The latter
could cause stability issues.

Tested:

* Tested on Intel 6300, STA mode.

Differential Revision: https://reviews.freebsd.org/D25113

bwi: clean up empty lines in .c and .h files

mwl: clean up empty lines in .c and .h files

Fix ieee80211_radiotap(9) usage in wireless drivers:

- Alignment issues:
* Add missing __packed attributes + padding across all drivers; in
most places there was an assumption that padding will be always
minimally suitable; in few places - e.g., in urtw(4) / rtwn(4) -
padding was just missing.
* Add __aligned(8) attribute for all Rx radiotap headers since they can
contain 64-bit TSF timestamp; it cannot appear in Tx radiotap headers, so
just drop the attribute here. Refresh ieee80211_radiotap(9) man page
accordingly.

- Since net80211 automatically updates channel frequency / flags in
ieee80211_radiotap_chan_change() drop duplicate setup for these fields
in drivers.

Tested with Netgear WG111 v3 (urtw(4)), STA mode.

MFC after: 2 weeks

Change-Id: I7f194a3b78a058aa598634039cfab27e415a4894
Reviewed-on: https://review.haiku-os.org/c/haiku/+/3917
Reviewed-by: Adrien Destugues <pulkomandy@gmail.com>
diff 0ba2e27f Tue Jan 15 17:33:06 MST 2019 Andriy Voskoboinyk <avos@FreeBSD.org> wlan: apply iwn,bwi,mwl commits from FreeBSD 13

iwn(4): (partially) rewrite A-MPDU Tx path

Generic Tx stats fixes:
- do not try to parse "aggregation status" for single frames; send them
to iwn_tx_done() instead;
- try to attach mbuf / node reference pair to reported BA events;
allows to fix reported status for ieee80211_tx_complete() and ifnet counters
(previously all A-MPDU frames were counted as failed - see PR 210211);
requires few more firmware bug workarounds;
- preserve short / long retry counters for wlan_amrr(4)
(disabled for now - causes significant performance degradation).
- Add new IWN_DEBUG_AMPDU debug category.
- Add one more check into iwn_tx_data() to prevent aggregation ring
overflow.
- Workaround 'seqno % 256' != 'current Tx slot' case (until D9195 is not
in the tree).
- Improve watchdog timer updates (previously watchdog check was omitted
when at least one frame was transmitted).
- Stop Tx when memory leak in currently used ring was detected (unlikely
to happen).
- Few other minor fixes.

Was previously tested with:
- Intel 6205, STA mode (Tx aggregation behaves much better now).
- Intel 4965AGN, STA mode (still unstable).

PR: 192641, 210211
Reviewed by: adrian, dhw
MFC after: 1 month
Differential Revision: https://reviews.freebsd.org/D10728

iwn(4): drop return code from iwn_*attach functions (they cannot fail)

While here, add missing trace 'end' marker in iwn5000_attach().

MFC after: 1 week

iwn(4): drop i_seq field initialization for A-MPDU frames.

It is done by net80211 since r319460.

MFC after: 24 days
X-MFC-With: 343094

iwn(4): plug initialization path vs interrupt handler races

There are few places in interrupt handler where the driver
lock is dropped; ensure that device is still running before
processing remaining ring entries.

PR: 192641
MFC after: 5 days

iwn: Set default ampdu parameters.

These are from the linux iwlwifi driver ;the default use smaller
maximum AMPDUs (8k) and a much smaller density (none.) The latter
could cause stability issues.

Tested:

* Tested on Intel 6300, STA mode.

Differential Revision: https://reviews.freebsd.org/D25113

bwi: clean up empty lines in .c and .h files

mwl: clean up empty lines in .c and .h files

Fix ieee80211_radiotap(9) usage in wireless drivers:

- Alignment issues:
* Add missing __packed attributes + padding across all drivers; in
most places there was an assumption that padding will be always
minimally suitable; in few places - e.g., in urtw(4) / rtwn(4) -
padding was just missing.
* Add __aligned(8) attribute for all Rx radiotap headers since they can
contain 64-bit TSF timestamp; it cannot appear in Tx radiotap headers, so
just drop the attribute here. Refresh ieee80211_radiotap(9) man page
accordingly.

- Since net80211 automatically updates channel frequency / flags in
ieee80211_radiotap_chan_change() drop duplicate setup for these fields
in drivers.

Tested with Netgear WG111 v3 (urtw(4)), STA mode.

MFC after: 2 weeks

Change-Id: I7f194a3b78a058aa598634039cfab27e415a4894
Reviewed-on: https://review.haiku-os.org/c/haiku/+/3917
Reviewed-by: Adrien Destugues <pulkomandy@gmail.com>
diff 0ba2e27f Tue Jan 15 17:33:06 MST 2019 Andriy Voskoboinyk <avos@FreeBSD.org> wlan: apply iwn,bwi,mwl commits from FreeBSD 13

iwn(4): (partially) rewrite A-MPDU Tx path

Generic Tx stats fixes:
- do not try to parse "aggregation status" for single frames; send them
to iwn_tx_done() instead;
- try to attach mbuf / node reference pair to reported BA events;
allows to fix reported status for ieee80211_tx_complete() and ifnet counters
(previously all A-MPDU frames were counted as failed - see PR 210211);
requires few more firmware bug workarounds;
- preserve short / long retry counters for wlan_amrr(4)
(disabled for now - causes significant performance degradation).
- Add new IWN_DEBUG_AMPDU debug category.
- Add one more check into iwn_tx_data() to prevent aggregation ring
overflow.
- Workaround 'seqno % 256' != 'current Tx slot' case (until D9195 is not
in the tree).
- Improve watchdog timer updates (previously watchdog check was omitted
when at least one frame was transmitted).
- Stop Tx when memory leak in currently used ring was detected (unlikely
to happen).
- Few other minor fixes.

Was previously tested with:
- Intel 6205, STA mode (Tx aggregation behaves much better now).
- Intel 4965AGN, STA mode (still unstable).

PR: 192641, 210211
Reviewed by: adrian, dhw
MFC after: 1 month
Differential Revision: https://reviews.freebsd.org/D10728

iwn(4): drop return code from iwn_*attach functions (they cannot fail)

While here, add missing trace 'end' marker in iwn5000_attach().

MFC after: 1 week

iwn(4): drop i_seq field initialization for A-MPDU frames.

It is done by net80211 since r319460.

MFC after: 24 days
X-MFC-With: 343094

iwn(4): plug initialization path vs interrupt handler races

There are few places in interrupt handler where the driver
lock is dropped; ensure that device is still running before
processing remaining ring entries.

PR: 192641
MFC after: 5 days

iwn: Set default ampdu parameters.

These are from the linux iwlwifi driver ;the default use smaller
maximum AMPDUs (8k) and a much smaller density (none.) The latter
could cause stability issues.

Tested:

* Tested on Intel 6300, STA mode.

Differential Revision: https://reviews.freebsd.org/D25113

bwi: clean up empty lines in .c and .h files

mwl: clean up empty lines in .c and .h files

Fix ieee80211_radiotap(9) usage in wireless drivers:

- Alignment issues:
* Add missing __packed attributes + padding across all drivers; in
most places there was an assumption that padding will be always
minimally suitable; in few places - e.g., in urtw(4) / rtwn(4) -
padding was just missing.
* Add __aligned(8) attribute for all Rx radiotap headers since they can
contain 64-bit TSF timestamp; it cannot appear in Tx radiotap headers, so
just drop the attribute here. Refresh ieee80211_radiotap(9) man page
accordingly.

- Since net80211 automatically updates channel frequency / flags in
ieee80211_radiotap_chan_change() drop duplicate setup for these fields
in drivers.

Tested with Netgear WG111 v3 (urtw(4)), STA mode.

MFC after: 2 weeks

Change-Id: I7f194a3b78a058aa598634039cfab27e415a4894
Reviewed-on: https://review.haiku-os.org/c/haiku/+/3917
Reviewed-by: Adrien Destugues <pulkomandy@gmail.com>
diff 0ba2e27f Tue Jan 15 17:33:06 MST 2019 Andriy Voskoboinyk <avos@FreeBSD.org> wlan: apply iwn,bwi,mwl commits from FreeBSD 13

iwn(4): (partially) rewrite A-MPDU Tx path

Generic Tx stats fixes:
- do not try to parse "aggregation status" for single frames; send them
to iwn_tx_done() instead;
- try to attach mbuf / node reference pair to reported BA events;
allows to fix reported status for ieee80211_tx_complete() and ifnet counters
(previously all A-MPDU frames were counted as failed - see PR 210211);
requires few more firmware bug workarounds;
- preserve short / long retry counters for wlan_amrr(4)
(disabled for now - causes significant performance degradation).
- Add new IWN_DEBUG_AMPDU debug category.
- Add one more check into iwn_tx_data() to prevent aggregation ring
overflow.
- Workaround 'seqno % 256' != 'current Tx slot' case (until D9195 is not
in the tree).
- Improve watchdog timer updates (previously watchdog check was omitted
when at least one frame was transmitted).
- Stop Tx when memory leak in currently used ring was detected (unlikely
to happen).
- Few other minor fixes.

Was previously tested with:
- Intel 6205, STA mode (Tx aggregation behaves much better now).
- Intel 4965AGN, STA mode (still unstable).

PR: 192641, 210211
Reviewed by: adrian, dhw
MFC after: 1 month
Differential Revision: https://reviews.freebsd.org/D10728

iwn(4): drop return code from iwn_*attach functions (they cannot fail)

While here, add missing trace 'end' marker in iwn5000_attach().

MFC after: 1 week

iwn(4): drop i_seq field initialization for A-MPDU frames.

It is done by net80211 since r319460.

MFC after: 24 days
X-MFC-With: 343094

iwn(4): plug initialization path vs interrupt handler races

There are few places in interrupt handler where the driver
lock is dropped; ensure that device is still running before
processing remaining ring entries.

PR: 192641
MFC after: 5 days

iwn: Set default ampdu parameters.

These are from the linux iwlwifi driver ;the default use smaller
maximum AMPDUs (8k) and a much smaller density (none.) The latter
could cause stability issues.

Tested:

* Tested on Intel 6300, STA mode.

Differential Revision: https://reviews.freebsd.org/D25113

bwi: clean up empty lines in .c and .h files

mwl: clean up empty lines in .c and .h files

Fix ieee80211_radiotap(9) usage in wireless drivers:

- Alignment issues:
* Add missing __packed attributes + padding across all drivers; in
most places there was an assumption that padding will be always
minimally suitable; in few places - e.g., in urtw(4) / rtwn(4) -
padding was just missing.
* Add __aligned(8) attribute for all Rx radiotap headers since they can
contain 64-bit TSF timestamp; it cannot appear in Tx radiotap headers, so
just drop the attribute here. Refresh ieee80211_radiotap(9) man page
accordingly.

- Since net80211 automatically updates channel frequency / flags in
ieee80211_radiotap_chan_change() drop duplicate setup for these fields
in drivers.

Tested with Netgear WG111 v3 (urtw(4)), STA mode.

MFC after: 2 weeks

Change-Id: I7f194a3b78a058aa598634039cfab27e415a4894
Reviewed-on: https://review.haiku-os.org/c/haiku/+/3917
Reviewed-by: Adrien Destugues <pulkomandy@gmail.com>
diff 0ba2e27f Tue Jan 15 17:33:06 MST 2019 Andriy Voskoboinyk <avos@FreeBSD.org> wlan: apply iwn,bwi,mwl commits from FreeBSD 13

iwn(4): (partially) rewrite A-MPDU Tx path

Generic Tx stats fixes:
- do not try to parse "aggregation status" for single frames; send them
to iwn_tx_done() instead;
- try to attach mbuf / node reference pair to reported BA events;
allows to fix reported status for ieee80211_tx_complete() and ifnet counters
(previously all A-MPDU frames were counted as failed - see PR 210211);
requires few more firmware bug workarounds;
- preserve short / long retry counters for wlan_amrr(4)
(disabled for now - causes significant performance degradation).
- Add new IWN_DEBUG_AMPDU debug category.
- Add one more check into iwn_tx_data() to prevent aggregation ring
overflow.
- Workaround 'seqno % 256' != 'current Tx slot' case (until D9195 is not
in the tree).
- Improve watchdog timer updates (previously watchdog check was omitted
when at least one frame was transmitted).
- Stop Tx when memory leak in currently used ring was detected (unlikely
to happen).
- Few other minor fixes.

Was previously tested with:
- Intel 6205, STA mode (Tx aggregation behaves much better now).
- Intel 4965AGN, STA mode (still unstable).

PR: 192641, 210211
Reviewed by: adrian, dhw
MFC after: 1 month
Differential Revision: https://reviews.freebsd.org/D10728

iwn(4): drop return code from iwn_*attach functions (they cannot fail)

While here, add missing trace 'end' marker in iwn5000_attach().

MFC after: 1 week

iwn(4): drop i_seq field initialization for A-MPDU frames.

It is done by net80211 since r319460.

MFC after: 24 days
X-MFC-With: 343094

iwn(4): plug initialization path vs interrupt handler races

There are few places in interrupt handler where the driver
lock is dropped; ensure that device is still running before
processing remaining ring entries.

PR: 192641
MFC after: 5 days

iwn: Set default ampdu parameters.

These are from the linux iwlwifi driver ;the default use smaller
maximum AMPDUs (8k) and a much smaller density (none.) The latter
could cause stability issues.

Tested:

* Tested on Intel 6300, STA mode.

Differential Revision: https://reviews.freebsd.org/D25113

bwi: clean up empty lines in .c and .h files

mwl: clean up empty lines in .c and .h files

Fix ieee80211_radiotap(9) usage in wireless drivers:

- Alignment issues:
* Add missing __packed attributes + padding across all drivers; in
most places there was an assumption that padding will be always
minimally suitable; in few places - e.g., in urtw(4) / rtwn(4) -
padding was just missing.
* Add __aligned(8) attribute for all Rx radiotap headers since they can
contain 64-bit TSF timestamp; it cannot appear in Tx radiotap headers, so
just drop the attribute here. Refresh ieee80211_radiotap(9) man page
accordingly.

- Since net80211 automatically updates channel frequency / flags in
ieee80211_radiotap_chan_change() drop duplicate setup for these fields
in drivers.

Tested with Netgear WG111 v3 (urtw(4)), STA mode.

MFC after: 2 weeks

Change-Id: I7f194a3b78a058aa598634039cfab27e415a4894
Reviewed-on: https://review.haiku-os.org/c/haiku/+/3917
Reviewed-by: Adrien Destugues <pulkomandy@gmail.com>
diff 0ba2e27f Tue Jan 15 17:33:06 MST 2019 Andriy Voskoboinyk <avos@FreeBSD.org> wlan: apply iwn,bwi,mwl commits from FreeBSD 13

iwn(4): (partially) rewrite A-MPDU Tx path

Generic Tx stats fixes:
- do not try to parse "aggregation status" for single frames; send them
to iwn_tx_done() instead;
- try to attach mbuf / node reference pair to reported BA events;
allows to fix reported status for ieee80211_tx_complete() and ifnet counters
(previously all A-MPDU frames were counted as failed - see PR 210211);
requires few more firmware bug workarounds;
- preserve short / long retry counters for wlan_amrr(4)
(disabled for now - causes significant performance degradation).
- Add new IWN_DEBUG_AMPDU debug category.
- Add one more check into iwn_tx_data() to prevent aggregation ring
overflow.
- Workaround 'seqno % 256' != 'current Tx slot' case (until D9195 is not
in the tree).
- Improve watchdog timer updates (previously watchdog check was omitted
when at least one frame was transmitted).
- Stop Tx when memory leak in currently used ring was detected (unlikely
to happen).
- Few other minor fixes.

Was previously tested with:
- Intel 6205, STA mode (Tx aggregation behaves much better now).
- Intel 4965AGN, STA mode (still unstable).

PR: 192641, 210211
Reviewed by: adrian, dhw
MFC after: 1 month
Differential Revision: https://reviews.freebsd.org/D10728

iwn(4): drop return code from iwn_*attach functions (they cannot fail)

While here, add missing trace 'end' marker in iwn5000_attach().

MFC after: 1 week

iwn(4): drop i_seq field initialization for A-MPDU frames.

It is done by net80211 since r319460.

MFC after: 24 days
X-MFC-With: 343094

iwn(4): plug initialization path vs interrupt handler races

There are few places in interrupt handler where the driver
lock is dropped; ensure that device is still running before
processing remaining ring entries.

PR: 192641
MFC after: 5 days

iwn: Set default ampdu parameters.

These are from the linux iwlwifi driver ;the default use smaller
maximum AMPDUs (8k) and a much smaller density (none.) The latter
could cause stability issues.

Tested:

* Tested on Intel 6300, STA mode.

Differential Revision: https://reviews.freebsd.org/D25113

bwi: clean up empty lines in .c and .h files

mwl: clean up empty lines in .c and .h files

Fix ieee80211_radiotap(9) usage in wireless drivers:

- Alignment issues:
* Add missing __packed attributes + padding across all drivers; in
most places there was an assumption that padding will be always
minimally suitable; in few places - e.g., in urtw(4) / rtwn(4) -
padding was just missing.
* Add __aligned(8) attribute for all Rx radiotap headers since they can
contain 64-bit TSF timestamp; it cannot appear in Tx radiotap headers, so
just drop the attribute here. Refresh ieee80211_radiotap(9) man page
accordingly.

- Since net80211 automatically updates channel frequency / flags in
ieee80211_radiotap_chan_change() drop duplicate setup for these fields
in drivers.

Tested with Netgear WG111 v3 (urtw(4)), STA mode.

MFC after: 2 weeks

Change-Id: I7f194a3b78a058aa598634039cfab27e415a4894
Reviewed-on: https://review.haiku-os.org/c/haiku/+/3917
Reviewed-by: Adrien Destugues <pulkomandy@gmail.com>
diff 0ba2e27f Tue Jan 15 17:33:06 MST 2019 Andriy Voskoboinyk <avos@FreeBSD.org> wlan: apply iwn,bwi,mwl commits from FreeBSD 13

iwn(4): (partially) rewrite A-MPDU Tx path

Generic Tx stats fixes:
- do not try to parse "aggregation status" for single frames; send them
to iwn_tx_done() instead;
- try to attach mbuf / node reference pair to reported BA events;
allows to fix reported status for ieee80211_tx_complete() and ifnet counters
(previously all A-MPDU frames were counted as failed - see PR 210211);
requires few more firmware bug workarounds;
- preserve short / long retry counters for wlan_amrr(4)
(disabled for now - causes significant performance degradation).
- Add new IWN_DEBUG_AMPDU debug category.
- Add one more check into iwn_tx_data() to prevent aggregation ring
overflow.
- Workaround 'seqno % 256' != 'current Tx slot' case (until D9195 is not
in the tree).
- Improve watchdog timer updates (previously watchdog check was omitted
when at least one frame was transmitted).
- Stop Tx when memory leak in currently used ring was detected (unlikely
to happen).
- Few other minor fixes.

Was previously tested with:
- Intel 6205, STA mode (Tx aggregation behaves much better now).
- Intel 4965AGN, STA mode (still unstable).

PR: 192641, 210211
Reviewed by: adrian, dhw
MFC after: 1 month
Differential Revision: https://reviews.freebsd.org/D10728

iwn(4): drop return code from iwn_*attach functions (they cannot fail)

While here, add missing trace 'end' marker in iwn5000_attach().

MFC after: 1 week

iwn(4): drop i_seq field initialization for A-MPDU frames.

It is done by net80211 since r319460.

MFC after: 24 days
X-MFC-With: 343094

iwn(4): plug initialization path vs interrupt handler races

There are few places in interrupt handler where the driver
lock is dropped; ensure that device is still running before
processing remaining ring entries.

PR: 192641
MFC after: 5 days

iwn: Set default ampdu parameters.

These are from the linux iwlwifi driver ;the default use smaller
maximum AMPDUs (8k) and a much smaller density (none.) The latter
could cause stability issues.

Tested:

* Tested on Intel 6300, STA mode.

Differential Revision: https://reviews.freebsd.org/D25113

bwi: clean up empty lines in .c and .h files

mwl: clean up empty lines in .c and .h files

Fix ieee80211_radiotap(9) usage in wireless drivers:

- Alignment issues:
* Add missing __packed attributes + padding across all drivers; in
most places there was an assumption that padding will be always
minimally suitable; in few places - e.g., in urtw(4) / rtwn(4) -
padding was just missing.
* Add __aligned(8) attribute for all Rx radiotap headers since they can
contain 64-bit TSF timestamp; it cannot appear in Tx radiotap headers, so
just drop the attribute here. Refresh ieee80211_radiotap(9) man page
accordingly.

- Since net80211 automatically updates channel frequency / flags in
ieee80211_radiotap_chan_change() drop duplicate setup for these fields
in drivers.

Tested with Netgear WG111 v3 (urtw(4)), STA mode.

MFC after: 2 weeks

Change-Id: I7f194a3b78a058aa598634039cfab27e415a4894
Reviewed-on: https://review.haiku-os.org/c/haiku/+/3917
Reviewed-by: Adrien Destugues <pulkomandy@gmail.com>
/haiku/data/catalogs/apps/glteapot/
H A Dlt.catkeysdiff 4f81ff45 Thu Aug 16 22:46:28 MDT 2012 Niels Sascha Reedijk <niels.reedijk@gmail.com> Update translations from Pootle
diff 4f81ff45fe160f3726d4338095c229f3405413d3 Thu Aug 16 22:46:28 MDT 2012 Niels Sascha Reedijk <niels.reedijk@gmail.com> Update translations from Pootle
H A Dnl.catkeysdiff 4f81ff45 Thu Aug 16 22:46:28 MDT 2012 Niels Sascha Reedijk <niels.reedijk@gmail.com> Update translations from Pootle
diff 4f81ff45fe160f3726d4338095c229f3405413d3 Thu Aug 16 22:46:28 MDT 2012 Niels Sascha Reedijk <niels.reedijk@gmail.com> Update translations from Pootle
/haiku/src/add-ons/kernel/bus_managers/acpi/
H A DACPICAHaiku.cppdiff f2acc47f Wed Dec 06 10:38:28 MST 2023 Jérôme Duval <jerome.duval@gmail.com> acpi: update AcpiOsAcquireGlobalLock and AcpiOsReleaseGlobalLock

implementations from FreeBSD. Because the argument wasn't volatile,
the compiler wasn't considerung reading the lock content.
* fix the acquire and release loops:
The loop could be exited when any new values were read.
Instead the return value should be checked against the old value.

Old x86 gcc2 asm loop in AcpiOsAcquireGlobalLock:
11660: 89 c8 mov %ecx,%eax
11662: f0 0f b1 1a lock cmpxchg %ebx,(%edx)
11666: 39 0a cmp %ecx,(%edx)
11668: 74 f6 je 11660 <AcpiOsAcquireGlobalLock+0x20>

New x86 gcc13 asm loop in AcpiOsAcquireGlobalLock:

4d58: 8b 11 mov (%ecx),%edx
4d5a: 89 d0 mov %edx,%eax
4d5c: 89 d3 mov %edx,%ebx
4d5e: 83 e0 fc and $0xfffffffc,%eax
4d61: 83 cb 03 or $0x3,%ebx
4d64: f6 c2 02 test $0x2,%dl
4d67: 75 05 jne 4d6e <AcpiOsAcquireGlobalLock+0x1e>
4d69: 83 c8 02 or $0x2,%eax
4d6c: 89 c3 mov %eax,%ebx
4d6e: 89 d0 mov %edx,%eax
4d70: f0 0f b1 19 lock cmpxchg %ebx,(%ecx)
4d74: 75 e2 jne 4d58 <AcpiOsAcquireGlobalLock+0x8>

Old x86 gcc2 asm loop in AcpiOsReleaseGlobalLock:
11690: 89 c8 mov %ecx,%eax
11692: f0 0f b1 1a lock cmpxchg %ebx,(%edx)
11696: 39 0a cmp %ecx,(%edx)
11698: 74 f6 je 11690 <AcpiOsReleaseGlobalLock+0x10>

New x86 gcc13 asm loop in AcpiOsReleaseGlobalLock:
4d88: 8b 11 mov (%ecx),%edx
4d8a: 89 d3 mov %edx,%ebx
4d8c: 89 d0 mov %edx,%eax
4d8e: 83 e3 fc and $0xfffffffc,%ebx
4d91: f0 0f b1 19 lock cmpxchg %ebx,(%ecx)
4d95: 75 f1 jne 4d88 <AcpiOsReleaseGlobalLock+0x8>

Change-Id: Ia55ba8666efe8b5c198a01db100b4747b72df4a0
Reviewed-on: https://review.haiku-os.org/c/haiku/+/7185
Reviewed-by: waddlesplash <waddlesplash@gmail.com>
diff f2acc47f Wed Dec 06 10:38:28 MST 2023 Jérôme Duval <jerome.duval@gmail.com> acpi: update AcpiOsAcquireGlobalLock and AcpiOsReleaseGlobalLock

implementations from FreeBSD. Because the argument wasn't volatile,
the compiler wasn't considerung reading the lock content.
* fix the acquire and release loops:
The loop could be exited when any new values were read.
Instead the return value should be checked against the old value.

Old x86 gcc2 asm loop in AcpiOsAcquireGlobalLock:
11660: 89 c8 mov %ecx,%eax
11662: f0 0f b1 1a lock cmpxchg %ebx,(%edx)
11666: 39 0a cmp %ecx,(%edx)
11668: 74 f6 je 11660 <AcpiOsAcquireGlobalLock+0x20>

New x86 gcc13 asm loop in AcpiOsAcquireGlobalLock:

4d58: 8b 11 mov (%ecx),%edx
4d5a: 89 d0 mov %edx,%eax
4d5c: 89 d3 mov %edx,%ebx
4d5e: 83 e0 fc and $0xfffffffc,%eax
4d61: 83 cb 03 or $0x3,%ebx
4d64: f6 c2 02 test $0x2,%dl
4d67: 75 05 jne 4d6e <AcpiOsAcquireGlobalLock+0x1e>
4d69: 83 c8 02 or $0x2,%eax
4d6c: 89 c3 mov %eax,%ebx
4d6e: 89 d0 mov %edx,%eax
4d70: f0 0f b1 19 lock cmpxchg %ebx,(%ecx)
4d74: 75 e2 jne 4d58 <AcpiOsAcquireGlobalLock+0x8>

Old x86 gcc2 asm loop in AcpiOsReleaseGlobalLock:
11690: 89 c8 mov %ecx,%eax
11692: f0 0f b1 1a lock cmpxchg %ebx,(%edx)
11696: 39 0a cmp %ecx,(%edx)
11698: 74 f6 je 11690 <AcpiOsReleaseGlobalLock+0x10>

New x86 gcc13 asm loop in AcpiOsReleaseGlobalLock:
4d88: 8b 11 mov (%ecx),%edx
4d8a: 89 d3 mov %edx,%ebx
4d8c: 89 d0 mov %edx,%eax
4d8e: 83 e3 fc and $0xfffffffc,%ebx
4d91: f0 0f b1 19 lock cmpxchg %ebx,(%ecx)
4d95: 75 f1 jne 4d88 <AcpiOsReleaseGlobalLock+0x8>

Change-Id: Ia55ba8666efe8b5c198a01db100b4747b72df4a0
Reviewed-on: https://review.haiku-os.org/c/haiku/+/7185
Reviewed-by: waddlesplash <waddlesplash@gmail.com>
diff f2acc47f Wed Dec 06 10:38:28 MST 2023 Jérôme Duval <jerome.duval@gmail.com> acpi: update AcpiOsAcquireGlobalLock and AcpiOsReleaseGlobalLock

implementations from FreeBSD. Because the argument wasn't volatile,
the compiler wasn't considerung reading the lock content.
* fix the acquire and release loops:
The loop could be exited when any new values were read.
Instead the return value should be checked against the old value.

Old x86 gcc2 asm loop in AcpiOsAcquireGlobalLock:
11660: 89 c8 mov %ecx,%eax
11662: f0 0f b1 1a lock cmpxchg %ebx,(%edx)
11666: 39 0a cmp %ecx,(%edx)
11668: 74 f6 je 11660 <AcpiOsAcquireGlobalLock+0x20>

New x86 gcc13 asm loop in AcpiOsAcquireGlobalLock:

4d58: 8b 11 mov (%ecx),%edx
4d5a: 89 d0 mov %edx,%eax
4d5c: 89 d3 mov %edx,%ebx
4d5e: 83 e0 fc and $0xfffffffc,%eax
4d61: 83 cb 03 or $0x3,%ebx
4d64: f6 c2 02 test $0x2,%dl
4d67: 75 05 jne 4d6e <AcpiOsAcquireGlobalLock+0x1e>
4d69: 83 c8 02 or $0x2,%eax
4d6c: 89 c3 mov %eax,%ebx
4d6e: 89 d0 mov %edx,%eax
4d70: f0 0f b1 19 lock cmpxchg %ebx,(%ecx)
4d74: 75 e2 jne 4d58 <AcpiOsAcquireGlobalLock+0x8>

Old x86 gcc2 asm loop in AcpiOsReleaseGlobalLock:
11690: 89 c8 mov %ecx,%eax
11692: f0 0f b1 1a lock cmpxchg %ebx,(%edx)
11696: 39 0a cmp %ecx,(%edx)
11698: 74 f6 je 11690 <AcpiOsReleaseGlobalLock+0x10>

New x86 gcc13 asm loop in AcpiOsReleaseGlobalLock:
4d88: 8b 11 mov (%ecx),%edx
4d8a: 89 d3 mov %edx,%ebx
4d8c: 89 d0 mov %edx,%eax
4d8e: 83 e3 fc and $0xfffffffc,%ebx
4d91: f0 0f b1 19 lock cmpxchg %ebx,(%ecx)
4d95: 75 f1 jne 4d88 <AcpiOsReleaseGlobalLock+0x8>

Change-Id: Ia55ba8666efe8b5c198a01db100b4747b72df4a0
Reviewed-on: https://review.haiku-os.org/c/haiku/+/7185
Reviewed-by: waddlesplash <waddlesplash@gmail.com>
diff f2acc47f Wed Dec 06 10:38:28 MST 2023 Jérôme Duval <jerome.duval@gmail.com> acpi: update AcpiOsAcquireGlobalLock and AcpiOsReleaseGlobalLock

implementations from FreeBSD. Because the argument wasn't volatile,
the compiler wasn't considerung reading the lock content.
* fix the acquire and release loops:
The loop could be exited when any new values were read.
Instead the return value should be checked against the old value.

Old x86 gcc2 asm loop in AcpiOsAcquireGlobalLock:
11660: 89 c8 mov %ecx,%eax
11662: f0 0f b1 1a lock cmpxchg %ebx,(%edx)
11666: 39 0a cmp %ecx,(%edx)
11668: 74 f6 je 11660 <AcpiOsAcquireGlobalLock+0x20>

New x86 gcc13 asm loop in AcpiOsAcquireGlobalLock:

4d58: 8b 11 mov (%ecx),%edx
4d5a: 89 d0 mov %edx,%eax
4d5c: 89 d3 mov %edx,%ebx
4d5e: 83 e0 fc and $0xfffffffc,%eax
4d61: 83 cb 03 or $0x3,%ebx
4d64: f6 c2 02 test $0x2,%dl
4d67: 75 05 jne 4d6e <AcpiOsAcquireGlobalLock+0x1e>
4d69: 83 c8 02 or $0x2,%eax
4d6c: 89 c3 mov %eax,%ebx
4d6e: 89 d0 mov %edx,%eax
4d70: f0 0f b1 19 lock cmpxchg %ebx,(%ecx)
4d74: 75 e2 jne 4d58 <AcpiOsAcquireGlobalLock+0x8>

Old x86 gcc2 asm loop in AcpiOsReleaseGlobalLock:
11690: 89 c8 mov %ecx,%eax
11692: f0 0f b1 1a lock cmpxchg %ebx,(%edx)
11696: 39 0a cmp %ecx,(%edx)
11698: 74 f6 je 11690 <AcpiOsReleaseGlobalLock+0x10>

New x86 gcc13 asm loop in AcpiOsReleaseGlobalLock:
4d88: 8b 11 mov (%ecx),%edx
4d8a: 89 d3 mov %edx,%ebx
4d8c: 89 d0 mov %edx,%eax
4d8e: 83 e3 fc and $0xfffffffc,%ebx
4d91: f0 0f b1 19 lock cmpxchg %ebx,(%ecx)
4d95: 75 f1 jne 4d88 <AcpiOsReleaseGlobalLock+0x8>

Change-Id: Ia55ba8666efe8b5c198a01db100b4747b72df4a0
Reviewed-on: https://review.haiku-os.org/c/haiku/+/7185
Reviewed-by: waddlesplash <waddlesplash@gmail.com>
diff f2acc47f Wed Dec 06 10:38:28 MST 2023 Jérôme Duval <jerome.duval@gmail.com> acpi: update AcpiOsAcquireGlobalLock and AcpiOsReleaseGlobalLock

implementations from FreeBSD. Because the argument wasn't volatile,
the compiler wasn't considerung reading the lock content.
* fix the acquire and release loops:
The loop could be exited when any new values were read.
Instead the return value should be checked against the old value.

Old x86 gcc2 asm loop in AcpiOsAcquireGlobalLock:
11660: 89 c8 mov %ecx,%eax
11662: f0 0f b1 1a lock cmpxchg %ebx,(%edx)
11666: 39 0a cmp %ecx,(%edx)
11668: 74 f6 je 11660 <AcpiOsAcquireGlobalLock+0x20>

New x86 gcc13 asm loop in AcpiOsAcquireGlobalLock:

4d58: 8b 11 mov (%ecx),%edx
4d5a: 89 d0 mov %edx,%eax
4d5c: 89 d3 mov %edx,%ebx
4d5e: 83 e0 fc and $0xfffffffc,%eax
4d61: 83 cb 03 or $0x3,%ebx
4d64: f6 c2 02 test $0x2,%dl
4d67: 75 05 jne 4d6e <AcpiOsAcquireGlobalLock+0x1e>
4d69: 83 c8 02 or $0x2,%eax
4d6c: 89 c3 mov %eax,%ebx
4d6e: 89 d0 mov %edx,%eax
4d70: f0 0f b1 19 lock cmpxchg %ebx,(%ecx)
4d74: 75 e2 jne 4d58 <AcpiOsAcquireGlobalLock+0x8>

Old x86 gcc2 asm loop in AcpiOsReleaseGlobalLock:
11690: 89 c8 mov %ecx,%eax
11692: f0 0f b1 1a lock cmpxchg %ebx,(%edx)
11696: 39 0a cmp %ecx,(%edx)
11698: 74 f6 je 11690 <AcpiOsReleaseGlobalLock+0x10>

New x86 gcc13 asm loop in AcpiOsReleaseGlobalLock:
4d88: 8b 11 mov (%ecx),%edx
4d8a: 89 d3 mov %edx,%ebx
4d8c: 89 d0 mov %edx,%eax
4d8e: 83 e3 fc and $0xfffffffc,%ebx
4d91: f0 0f b1 19 lock cmpxchg %ebx,(%ecx)
4d95: 75 f1 jne 4d88 <AcpiOsReleaseGlobalLock+0x8>

Change-Id: Ia55ba8666efe8b5c198a01db100b4747b72df4a0
Reviewed-on: https://review.haiku-os.org/c/haiku/+/7185
Reviewed-by: waddlesplash <waddlesplash@gmail.com>
diff f2acc47f Wed Dec 06 10:38:28 MST 2023 Jérôme Duval <jerome.duval@gmail.com> acpi: update AcpiOsAcquireGlobalLock and AcpiOsReleaseGlobalLock

implementations from FreeBSD. Because the argument wasn't volatile,
the compiler wasn't considerung reading the lock content.
* fix the acquire and release loops:
The loop could be exited when any new values were read.
Instead the return value should be checked against the old value.

Old x86 gcc2 asm loop in AcpiOsAcquireGlobalLock:
11660: 89 c8 mov %ecx,%eax
11662: f0 0f b1 1a lock cmpxchg %ebx,(%edx)
11666: 39 0a cmp %ecx,(%edx)
11668: 74 f6 je 11660 <AcpiOsAcquireGlobalLock+0x20>

New x86 gcc13 asm loop in AcpiOsAcquireGlobalLock:

4d58: 8b 11 mov (%ecx),%edx
4d5a: 89 d0 mov %edx,%eax
4d5c: 89 d3 mov %edx,%ebx
4d5e: 83 e0 fc and $0xfffffffc,%eax
4d61: 83 cb 03 or $0x3,%ebx
4d64: f6 c2 02 test $0x2,%dl
4d67: 75 05 jne 4d6e <AcpiOsAcquireGlobalLock+0x1e>
4d69: 83 c8 02 or $0x2,%eax
4d6c: 89 c3 mov %eax,%ebx
4d6e: 89 d0 mov %edx,%eax
4d70: f0 0f b1 19 lock cmpxchg %ebx,(%ecx)
4d74: 75 e2 jne 4d58 <AcpiOsAcquireGlobalLock+0x8>

Old x86 gcc2 asm loop in AcpiOsReleaseGlobalLock:
11690: 89 c8 mov %ecx,%eax
11692: f0 0f b1 1a lock cmpxchg %ebx,(%edx)
11696: 39 0a cmp %ecx,(%edx)
11698: 74 f6 je 11690 <AcpiOsReleaseGlobalLock+0x10>

New x86 gcc13 asm loop in AcpiOsReleaseGlobalLock:
4d88: 8b 11 mov (%ecx),%edx
4d8a: 89 d3 mov %edx,%ebx
4d8c: 89 d0 mov %edx,%eax
4d8e: 83 e3 fc and $0xfffffffc,%ebx
4d91: f0 0f b1 19 lock cmpxchg %ebx,(%ecx)
4d95: 75 f1 jne 4d88 <AcpiOsReleaseGlobalLock+0x8>

Change-Id: Ia55ba8666efe8b5c198a01db100b4747b72df4a0
Reviewed-on: https://review.haiku-os.org/c/haiku/+/7185
Reviewed-by: waddlesplash <waddlesplash@gmail.com>
diff f2acc47f Wed Dec 06 10:38:28 MST 2023 Jérôme Duval <jerome.duval@gmail.com> acpi: update AcpiOsAcquireGlobalLock and AcpiOsReleaseGlobalLock

implementations from FreeBSD. Because the argument wasn't volatile,
the compiler wasn't considerung reading the lock content.
* fix the acquire and release loops:
The loop could be exited when any new values were read.
Instead the return value should be checked against the old value.

Old x86 gcc2 asm loop in AcpiOsAcquireGlobalLock:
11660: 89 c8 mov %ecx,%eax
11662: f0 0f b1 1a lock cmpxchg %ebx,(%edx)
11666: 39 0a cmp %ecx,(%edx)
11668: 74 f6 je 11660 <AcpiOsAcquireGlobalLock+0x20>

New x86 gcc13 asm loop in AcpiOsAcquireGlobalLock:

4d58: 8b 11 mov (%ecx),%edx
4d5a: 89 d0 mov %edx,%eax
4d5c: 89 d3 mov %edx,%ebx
4d5e: 83 e0 fc and $0xfffffffc,%eax
4d61: 83 cb 03 or $0x3,%ebx
4d64: f6 c2 02 test $0x2,%dl
4d67: 75 05 jne 4d6e <AcpiOsAcquireGlobalLock+0x1e>
4d69: 83 c8 02 or $0x2,%eax
4d6c: 89 c3 mov %eax,%ebx
4d6e: 89 d0 mov %edx,%eax
4d70: f0 0f b1 19 lock cmpxchg %ebx,(%ecx)
4d74: 75 e2 jne 4d58 <AcpiOsAcquireGlobalLock+0x8>

Old x86 gcc2 asm loop in AcpiOsReleaseGlobalLock:
11690: 89 c8 mov %ecx,%eax
11692: f0 0f b1 1a lock cmpxchg %ebx,(%edx)
11696: 39 0a cmp %ecx,(%edx)
11698: 74 f6 je 11690 <AcpiOsReleaseGlobalLock+0x10>

New x86 gcc13 asm loop in AcpiOsReleaseGlobalLock:
4d88: 8b 11 mov (%ecx),%edx
4d8a: 89 d3 mov %edx,%ebx
4d8c: 89 d0 mov %edx,%eax
4d8e: 83 e3 fc and $0xfffffffc,%ebx
4d91: f0 0f b1 19 lock cmpxchg %ebx,(%ecx)
4d95: 75 f1 jne 4d88 <AcpiOsReleaseGlobalLock+0x8>

Change-Id: Ia55ba8666efe8b5c198a01db100b4747b72df4a0
Reviewed-on: https://review.haiku-os.org/c/haiku/+/7185
Reviewed-by: waddlesplash <waddlesplash@gmail.com>
diff f2acc47f Wed Dec 06 10:38:28 MST 2023 Jérôme Duval <jerome.duval@gmail.com> acpi: update AcpiOsAcquireGlobalLock and AcpiOsReleaseGlobalLock

implementations from FreeBSD. Because the argument wasn't volatile,
the compiler wasn't considerung reading the lock content.
* fix the acquire and release loops:
The loop could be exited when any new values were read.
Instead the return value should be checked against the old value.

Old x86 gcc2 asm loop in AcpiOsAcquireGlobalLock:
11660: 89 c8 mov %ecx,%eax
11662: f0 0f b1 1a lock cmpxchg %ebx,(%edx)
11666: 39 0a cmp %ecx,(%edx)
11668: 74 f6 je 11660 <AcpiOsAcquireGlobalLock+0x20>

New x86 gcc13 asm loop in AcpiOsAcquireGlobalLock:

4d58: 8b 11 mov (%ecx),%edx
4d5a: 89 d0 mov %edx,%eax
4d5c: 89 d3 mov %edx,%ebx
4d5e: 83 e0 fc and $0xfffffffc,%eax
4d61: 83 cb 03 or $0x3,%ebx
4d64: f6 c2 02 test $0x2,%dl
4d67: 75 05 jne 4d6e <AcpiOsAcquireGlobalLock+0x1e>
4d69: 83 c8 02 or $0x2,%eax
4d6c: 89 c3 mov %eax,%ebx
4d6e: 89 d0 mov %edx,%eax
4d70: f0 0f b1 19 lock cmpxchg %ebx,(%ecx)
4d74: 75 e2 jne 4d58 <AcpiOsAcquireGlobalLock+0x8>

Old x86 gcc2 asm loop in AcpiOsReleaseGlobalLock:
11690: 89 c8 mov %ecx,%eax
11692: f0 0f b1 1a lock cmpxchg %ebx,(%edx)
11696: 39 0a cmp %ecx,(%edx)
11698: 74 f6 je 11690 <AcpiOsReleaseGlobalLock+0x10>

New x86 gcc13 asm loop in AcpiOsReleaseGlobalLock:
4d88: 8b 11 mov (%ecx),%edx
4d8a: 89 d3 mov %edx,%ebx
4d8c: 89 d0 mov %edx,%eax
4d8e: 83 e3 fc and $0xfffffffc,%ebx
4d91: f0 0f b1 19 lock cmpxchg %ebx,(%ecx)
4d95: 75 f1 jne 4d88 <AcpiOsReleaseGlobalLock+0x8>

Change-Id: Ia55ba8666efe8b5c198a01db100b4747b72df4a0
Reviewed-on: https://review.haiku-os.org/c/haiku/+/7185
Reviewed-by: waddlesplash <waddlesplash@gmail.com>
diff f2acc47f Wed Dec 06 10:38:28 MST 2023 Jérôme Duval <jerome.duval@gmail.com> acpi: update AcpiOsAcquireGlobalLock and AcpiOsReleaseGlobalLock

implementations from FreeBSD. Because the argument wasn't volatile,
the compiler wasn't considerung reading the lock content.
* fix the acquire and release loops:
The loop could be exited when any new values were read.
Instead the return value should be checked against the old value.

Old x86 gcc2 asm loop in AcpiOsAcquireGlobalLock:
11660: 89 c8 mov %ecx,%eax
11662: f0 0f b1 1a lock cmpxchg %ebx,(%edx)
11666: 39 0a cmp %ecx,(%edx)
11668: 74 f6 je 11660 <AcpiOsAcquireGlobalLock+0x20>

New x86 gcc13 asm loop in AcpiOsAcquireGlobalLock:

4d58: 8b 11 mov (%ecx),%edx
4d5a: 89 d0 mov %edx,%eax
4d5c: 89 d3 mov %edx,%ebx
4d5e: 83 e0 fc and $0xfffffffc,%eax
4d61: 83 cb 03 or $0x3,%ebx
4d64: f6 c2 02 test $0x2,%dl
4d67: 75 05 jne 4d6e <AcpiOsAcquireGlobalLock+0x1e>
4d69: 83 c8 02 or $0x2,%eax
4d6c: 89 c3 mov %eax,%ebx
4d6e: 89 d0 mov %edx,%eax
4d70: f0 0f b1 19 lock cmpxchg %ebx,(%ecx)
4d74: 75 e2 jne 4d58 <AcpiOsAcquireGlobalLock+0x8>

Old x86 gcc2 asm loop in AcpiOsReleaseGlobalLock:
11690: 89 c8 mov %ecx,%eax
11692: f0 0f b1 1a lock cmpxchg %ebx,(%edx)
11696: 39 0a cmp %ecx,(%edx)
11698: 74 f6 je 11690 <AcpiOsReleaseGlobalLock+0x10>

New x86 gcc13 asm loop in AcpiOsReleaseGlobalLock:
4d88: 8b 11 mov (%ecx),%edx
4d8a: 89 d3 mov %edx,%ebx
4d8c: 89 d0 mov %edx,%eax
4d8e: 83 e3 fc and $0xfffffffc,%ebx
4d91: f0 0f b1 19 lock cmpxchg %ebx,(%ecx)
4d95: 75 f1 jne 4d88 <AcpiOsReleaseGlobalLock+0x8>

Change-Id: Ia55ba8666efe8b5c198a01db100b4747b72df4a0
Reviewed-on: https://review.haiku-os.org/c/haiku/+/7185
Reviewed-by: waddlesplash <waddlesplash@gmail.com>
diff f2acc47f Wed Dec 06 10:38:28 MST 2023 Jérôme Duval <jerome.duval@gmail.com> acpi: update AcpiOsAcquireGlobalLock and AcpiOsReleaseGlobalLock

implementations from FreeBSD. Because the argument wasn't volatile,
the compiler wasn't considerung reading the lock content.
* fix the acquire and release loops:
The loop could be exited when any new values were read.
Instead the return value should be checked against the old value.

Old x86 gcc2 asm loop in AcpiOsAcquireGlobalLock:
11660: 89 c8 mov %ecx,%eax
11662: f0 0f b1 1a lock cmpxchg %ebx,(%edx)
11666: 39 0a cmp %ecx,(%edx)
11668: 74 f6 je 11660 <AcpiOsAcquireGlobalLock+0x20>

New x86 gcc13 asm loop in AcpiOsAcquireGlobalLock:

4d58: 8b 11 mov (%ecx),%edx
4d5a: 89 d0 mov %edx,%eax
4d5c: 89 d3 mov %edx,%ebx
4d5e: 83 e0 fc and $0xfffffffc,%eax
4d61: 83 cb 03 or $0x3,%ebx
4d64: f6 c2 02 test $0x2,%dl
4d67: 75 05 jne 4d6e <AcpiOsAcquireGlobalLock+0x1e>
4d69: 83 c8 02 or $0x2,%eax
4d6c: 89 c3 mov %eax,%ebx
4d6e: 89 d0 mov %edx,%eax
4d70: f0 0f b1 19 lock cmpxchg %ebx,(%ecx)
4d74: 75 e2 jne 4d58 <AcpiOsAcquireGlobalLock+0x8>

Old x86 gcc2 asm loop in AcpiOsReleaseGlobalLock:
11690: 89 c8 mov %ecx,%eax
11692: f0 0f b1 1a lock cmpxchg %ebx,(%edx)
11696: 39 0a cmp %ecx,(%edx)
11698: 74 f6 je 11690 <AcpiOsReleaseGlobalLock+0x10>

New x86 gcc13 asm loop in AcpiOsReleaseGlobalLock:
4d88: 8b 11 mov (%ecx),%edx
4d8a: 89 d3 mov %edx,%ebx
4d8c: 89 d0 mov %edx,%eax
4d8e: 83 e3 fc and $0xfffffffc,%ebx
4d91: f0 0f b1 19 lock cmpxchg %ebx,(%ecx)
4d95: 75 f1 jne 4d88 <AcpiOsReleaseGlobalLock+0x8>

Change-Id: Ia55ba8666efe8b5c198a01db100b4747b72df4a0
Reviewed-on: https://review.haiku-os.org/c/haiku/+/7185
Reviewed-by: waddlesplash <waddlesplash@gmail.com>
diff f2acc47f Wed Dec 06 10:38:28 MST 2023 Jérôme Duval <jerome.duval@gmail.com> acpi: update AcpiOsAcquireGlobalLock and AcpiOsReleaseGlobalLock

implementations from FreeBSD. Because the argument wasn't volatile,
the compiler wasn't considerung reading the lock content.
* fix the acquire and release loops:
The loop could be exited when any new values were read.
Instead the return value should be checked against the old value.

Old x86 gcc2 asm loop in AcpiOsAcquireGlobalLock:
11660: 89 c8 mov %ecx,%eax
11662: f0 0f b1 1a lock cmpxchg %ebx,(%edx)
11666: 39 0a cmp %ecx,(%edx)
11668: 74 f6 je 11660 <AcpiOsAcquireGlobalLock+0x20>

New x86 gcc13 asm loop in AcpiOsAcquireGlobalLock:

4d58: 8b 11 mov (%ecx),%edx
4d5a: 89 d0 mov %edx,%eax
4d5c: 89 d3 mov %edx,%ebx
4d5e: 83 e0 fc and $0xfffffffc,%eax
4d61: 83 cb 03 or $0x3,%ebx
4d64: f6 c2 02 test $0x2,%dl
4d67: 75 05 jne 4d6e <AcpiOsAcquireGlobalLock+0x1e>
4d69: 83 c8 02 or $0x2,%eax
4d6c: 89 c3 mov %eax,%ebx
4d6e: 89 d0 mov %edx,%eax
4d70: f0 0f b1 19 lock cmpxchg %ebx,(%ecx)
4d74: 75 e2 jne 4d58 <AcpiOsAcquireGlobalLock+0x8>

Old x86 gcc2 asm loop in AcpiOsReleaseGlobalLock:
11690: 89 c8 mov %ecx,%eax
11692: f0 0f b1 1a lock cmpxchg %ebx,(%edx)
11696: 39 0a cmp %ecx,(%edx)
11698: 74 f6 je 11690 <AcpiOsReleaseGlobalLock+0x10>

New x86 gcc13 asm loop in AcpiOsReleaseGlobalLock:
4d88: 8b 11 mov (%ecx),%edx
4d8a: 89 d3 mov %edx,%ebx
4d8c: 89 d0 mov %edx,%eax
4d8e: 83 e3 fc and $0xfffffffc,%ebx
4d91: f0 0f b1 19 lock cmpxchg %ebx,(%ecx)
4d95: 75 f1 jne 4d88 <AcpiOsReleaseGlobalLock+0x8>

Change-Id: Ia55ba8666efe8b5c198a01db100b4747b72df4a0
Reviewed-on: https://review.haiku-os.org/c/haiku/+/7185
Reviewed-by: waddlesplash <waddlesplash@gmail.com>
diff f2acc47f Wed Dec 06 10:38:28 MST 2023 Jérôme Duval <jerome.duval@gmail.com> acpi: update AcpiOsAcquireGlobalLock and AcpiOsReleaseGlobalLock

implementations from FreeBSD. Because the argument wasn't volatile,
the compiler wasn't considerung reading the lock content.
* fix the acquire and release loops:
The loop could be exited when any new values were read.
Instead the return value should be checked against the old value.

Old x86 gcc2 asm loop in AcpiOsAcquireGlobalLock:
11660: 89 c8 mov %ecx,%eax
11662: f0 0f b1 1a lock cmpxchg %ebx,(%edx)
11666: 39 0a cmp %ecx,(%edx)
11668: 74 f6 je 11660 <AcpiOsAcquireGlobalLock+0x20>

New x86 gcc13 asm loop in AcpiOsAcquireGlobalLock:

4d58: 8b 11 mov (%ecx),%edx
4d5a: 89 d0 mov %edx,%eax
4d5c: 89 d3 mov %edx,%ebx
4d5e: 83 e0 fc and $0xfffffffc,%eax
4d61: 83 cb 03 or $0x3,%ebx
4d64: f6 c2 02 test $0x2,%dl
4d67: 75 05 jne 4d6e <AcpiOsAcquireGlobalLock+0x1e>
4d69: 83 c8 02 or $0x2,%eax
4d6c: 89 c3 mov %eax,%ebx
4d6e: 89 d0 mov %edx,%eax
4d70: f0 0f b1 19 lock cmpxchg %ebx,(%ecx)
4d74: 75 e2 jne 4d58 <AcpiOsAcquireGlobalLock+0x8>

Old x86 gcc2 asm loop in AcpiOsReleaseGlobalLock:
11690: 89 c8 mov %ecx,%eax
11692: f0 0f b1 1a lock cmpxchg %ebx,(%edx)
11696: 39 0a cmp %ecx,(%edx)
11698: 74 f6 je 11690 <AcpiOsReleaseGlobalLock+0x10>

New x86 gcc13 asm loop in AcpiOsReleaseGlobalLock:
4d88: 8b 11 mov (%ecx),%edx
4d8a: 89 d3 mov %edx,%ebx
4d8c: 89 d0 mov %edx,%eax
4d8e: 83 e3 fc and $0xfffffffc,%ebx
4d91: f0 0f b1 19 lock cmpxchg %ebx,(%ecx)
4d95: 75 f1 jne 4d88 <AcpiOsReleaseGlobalLock+0x8>

Change-Id: Ia55ba8666efe8b5c198a01db100b4747b72df4a0
Reviewed-on: https://review.haiku-os.org/c/haiku/+/7185
Reviewed-by: waddlesplash <waddlesplash@gmail.com>
diff f2acc47f Wed Dec 06 10:38:28 MST 2023 Jérôme Duval <jerome.duval@gmail.com> acpi: update AcpiOsAcquireGlobalLock and AcpiOsReleaseGlobalLock

implementations from FreeBSD. Because the argument wasn't volatile,
the compiler wasn't considerung reading the lock content.
* fix the acquire and release loops:
The loop could be exited when any new values were read.
Instead the return value should be checked against the old value.

Old x86 gcc2 asm loop in AcpiOsAcquireGlobalLock:
11660: 89 c8 mov %ecx,%eax
11662: f0 0f b1 1a lock cmpxchg %ebx,(%edx)
11666: 39 0a cmp %ecx,(%edx)
11668: 74 f6 je 11660 <AcpiOsAcquireGlobalLock+0x20>

New x86 gcc13 asm loop in AcpiOsAcquireGlobalLock:

4d58: 8b 11 mov (%ecx),%edx
4d5a: 89 d0 mov %edx,%eax
4d5c: 89 d3 mov %edx,%ebx
4d5e: 83 e0 fc and $0xfffffffc,%eax
4d61: 83 cb 03 or $0x3,%ebx
4d64: f6 c2 02 test $0x2,%dl
4d67: 75 05 jne 4d6e <AcpiOsAcquireGlobalLock+0x1e>
4d69: 83 c8 02 or $0x2,%eax
4d6c: 89 c3 mov %eax,%ebx
4d6e: 89 d0 mov %edx,%eax
4d70: f0 0f b1 19 lock cmpxchg %ebx,(%ecx)
4d74: 75 e2 jne 4d58 <AcpiOsAcquireGlobalLock+0x8>

Old x86 gcc2 asm loop in AcpiOsReleaseGlobalLock:
11690: 89 c8 mov %ecx,%eax
11692: f0 0f b1 1a lock cmpxchg %ebx,(%edx)
11696: 39 0a cmp %ecx,(%edx)
11698: 74 f6 je 11690 <AcpiOsReleaseGlobalLock+0x10>

New x86 gcc13 asm loop in AcpiOsReleaseGlobalLock:
4d88: 8b 11 mov (%ecx),%edx
4d8a: 89 d3 mov %edx,%ebx
4d8c: 89 d0 mov %edx,%eax
4d8e: 83 e3 fc and $0xfffffffc,%ebx
4d91: f0 0f b1 19 lock cmpxchg %ebx,(%ecx)
4d95: 75 f1 jne 4d88 <AcpiOsReleaseGlobalLock+0x8>

Change-Id: Ia55ba8666efe8b5c198a01db100b4747b72df4a0
Reviewed-on: https://review.haiku-os.org/c/haiku/+/7185
Reviewed-by: waddlesplash <waddlesplash@gmail.com>
diff f2acc47f Wed Dec 06 10:38:28 MST 2023 Jérôme Duval <jerome.duval@gmail.com> acpi: update AcpiOsAcquireGlobalLock and AcpiOsReleaseGlobalLock

implementations from FreeBSD. Because the argument wasn't volatile,
the compiler wasn't considerung reading the lock content.
* fix the acquire and release loops:
The loop could be exited when any new values were read.
Instead the return value should be checked against the old value.

Old x86 gcc2 asm loop in AcpiOsAcquireGlobalLock:
11660: 89 c8 mov %ecx,%eax
11662: f0 0f b1 1a lock cmpxchg %ebx,(%edx)
11666: 39 0a cmp %ecx,(%edx)
11668: 74 f6 je 11660 <AcpiOsAcquireGlobalLock+0x20>

New x86 gcc13 asm loop in AcpiOsAcquireGlobalLock:

4d58: 8b 11 mov (%ecx),%edx
4d5a: 89 d0 mov %edx,%eax
4d5c: 89 d3 mov %edx,%ebx
4d5e: 83 e0 fc and $0xfffffffc,%eax
4d61: 83 cb 03 or $0x3,%ebx
4d64: f6 c2 02 test $0x2,%dl
4d67: 75 05 jne 4d6e <AcpiOsAcquireGlobalLock+0x1e>
4d69: 83 c8 02 or $0x2,%eax
4d6c: 89 c3 mov %eax,%ebx
4d6e: 89 d0 mov %edx,%eax
4d70: f0 0f b1 19 lock cmpxchg %ebx,(%ecx)
4d74: 75 e2 jne 4d58 <AcpiOsAcquireGlobalLock+0x8>

Old x86 gcc2 asm loop in AcpiOsReleaseGlobalLock:
11690: 89 c8 mov %ecx,%eax
11692: f0 0f b1 1a lock cmpxchg %ebx,(%edx)
11696: 39 0a cmp %ecx,(%edx)
11698: 74 f6 je 11690 <AcpiOsReleaseGlobalLock+0x10>

New x86 gcc13 asm loop in AcpiOsReleaseGlobalLock:
4d88: 8b 11 mov (%ecx),%edx
4d8a: 89 d3 mov %edx,%ebx
4d8c: 89 d0 mov %edx,%eax
4d8e: 83 e3 fc and $0xfffffffc,%ebx
4d91: f0 0f b1 19 lock cmpxchg %ebx,(%ecx)
4d95: 75 f1 jne 4d88 <AcpiOsReleaseGlobalLock+0x8>

Change-Id: Ia55ba8666efe8b5c198a01db100b4747b72df4a0
Reviewed-on: https://review.haiku-os.org/c/haiku/+/7185
Reviewed-by: waddlesplash <waddlesplash@gmail.com>
diff f2acc47f Wed Dec 06 10:38:28 MST 2023 Jérôme Duval <jerome.duval@gmail.com> acpi: update AcpiOsAcquireGlobalLock and AcpiOsReleaseGlobalLock

implementations from FreeBSD. Because the argument wasn't volatile,
the compiler wasn't considerung reading the lock content.
* fix the acquire and release loops:
The loop could be exited when any new values were read.
Instead the return value should be checked against the old value.

Old x86 gcc2 asm loop in AcpiOsAcquireGlobalLock:
11660: 89 c8 mov %ecx,%eax
11662: f0 0f b1 1a lock cmpxchg %ebx,(%edx)
11666: 39 0a cmp %ecx,(%edx)
11668: 74 f6 je 11660 <AcpiOsAcquireGlobalLock+0x20>

New x86 gcc13 asm loop in AcpiOsAcquireGlobalLock:

4d58: 8b 11 mov (%ecx),%edx
4d5a: 89 d0 mov %edx,%eax
4d5c: 89 d3 mov %edx,%ebx
4d5e: 83 e0 fc and $0xfffffffc,%eax
4d61: 83 cb 03 or $0x3,%ebx
4d64: f6 c2 02 test $0x2,%dl
4d67: 75 05 jne 4d6e <AcpiOsAcquireGlobalLock+0x1e>
4d69: 83 c8 02 or $0x2,%eax
4d6c: 89 c3 mov %eax,%ebx
4d6e: 89 d0 mov %edx,%eax
4d70: f0 0f b1 19 lock cmpxchg %ebx,(%ecx)
4d74: 75 e2 jne 4d58 <AcpiOsAcquireGlobalLock+0x8>

Old x86 gcc2 asm loop in AcpiOsReleaseGlobalLock:
11690: 89 c8 mov %ecx,%eax
11692: f0 0f b1 1a lock cmpxchg %ebx,(%edx)
11696: 39 0a cmp %ecx,(%edx)
11698: 74 f6 je 11690 <AcpiOsReleaseGlobalLock+0x10>

New x86 gcc13 asm loop in AcpiOsReleaseGlobalLock:
4d88: 8b 11 mov (%ecx),%edx
4d8a: 89 d3 mov %edx,%ebx
4d8c: 89 d0 mov %edx,%eax
4d8e: 83 e3 fc and $0xfffffffc,%ebx
4d91: f0 0f b1 19 lock cmpxchg %ebx,(%ecx)
4d95: 75 f1 jne 4d88 <AcpiOsReleaseGlobalLock+0x8>

Change-Id: Ia55ba8666efe8b5c198a01db100b4747b72df4a0
Reviewed-on: https://review.haiku-os.org/c/haiku/+/7185
Reviewed-by: waddlesplash <waddlesplash@gmail.com>
diff f2acc47f Wed Dec 06 10:38:28 MST 2023 Jérôme Duval <jerome.duval@gmail.com> acpi: update AcpiOsAcquireGlobalLock and AcpiOsReleaseGlobalLock

implementations from FreeBSD. Because the argument wasn't volatile,
the compiler wasn't considerung reading the lock content.
* fix the acquire and release loops:
The loop could be exited when any new values were read.
Instead the return value should be checked against the old value.

Old x86 gcc2 asm loop in AcpiOsAcquireGlobalLock:
11660: 89 c8 mov %ecx,%eax
11662: f0 0f b1 1a lock cmpxchg %ebx,(%edx)
11666: 39 0a cmp %ecx,(%edx)
11668: 74 f6 je 11660 <AcpiOsAcquireGlobalLock+0x20>

New x86 gcc13 asm loop in AcpiOsAcquireGlobalLock:

4d58: 8b 11 mov (%ecx),%edx
4d5a: 89 d0 mov %edx,%eax
4d5c: 89 d3 mov %edx,%ebx
4d5e: 83 e0 fc and $0xfffffffc,%eax
4d61: 83 cb 03 or $0x3,%ebx
4d64: f6 c2 02 test $0x2,%dl
4d67: 75 05 jne 4d6e <AcpiOsAcquireGlobalLock+0x1e>
4d69: 83 c8 02 or $0x2,%eax
4d6c: 89 c3 mov %eax,%ebx
4d6e: 89 d0 mov %edx,%eax
4d70: f0 0f b1 19 lock cmpxchg %ebx,(%ecx)
4d74: 75 e2 jne 4d58 <AcpiOsAcquireGlobalLock+0x8>

Old x86 gcc2 asm loop in AcpiOsReleaseGlobalLock:
11690: 89 c8 mov %ecx,%eax
11692: f0 0f b1 1a lock cmpxchg %ebx,(%edx)
11696: 39 0a cmp %ecx,(%edx)
11698: 74 f6 je 11690 <AcpiOsReleaseGlobalLock+0x10>

New x86 gcc13 asm loop in AcpiOsReleaseGlobalLock:
4d88: 8b 11 mov (%ecx),%edx
4d8a: 89 d3 mov %edx,%ebx
4d8c: 89 d0 mov %edx,%eax
4d8e: 83 e3 fc and $0xfffffffc,%ebx
4d91: f0 0f b1 19 lock cmpxchg %ebx,(%ecx)
4d95: 75 f1 jne 4d88 <AcpiOsReleaseGlobalLock+0x8>

Change-Id: Ia55ba8666efe8b5c198a01db100b4747b72df4a0
Reviewed-on: https://review.haiku-os.org/c/haiku/+/7185
Reviewed-by: waddlesplash <waddlesplash@gmail.com>
diff f2acc47f Wed Dec 06 10:38:28 MST 2023 Jérôme Duval <jerome.duval@gmail.com> acpi: update AcpiOsAcquireGlobalLock and AcpiOsReleaseGlobalLock

implementations from FreeBSD. Because the argument wasn't volatile,
the compiler wasn't considerung reading the lock content.
* fix the acquire and release loops:
The loop could be exited when any new values were read.
Instead the return value should be checked against the old value.

Old x86 gcc2 asm loop in AcpiOsAcquireGlobalLock:
11660: 89 c8 mov %ecx,%eax
11662: f0 0f b1 1a lock cmpxchg %ebx,(%edx)
11666: 39 0a cmp %ecx,(%edx)
11668: 74 f6 je 11660 <AcpiOsAcquireGlobalLock+0x20>

New x86 gcc13 asm loop in AcpiOsAcquireGlobalLock:

4d58: 8b 11 mov (%ecx),%edx
4d5a: 89 d0 mov %edx,%eax
4d5c: 89 d3 mov %edx,%ebx
4d5e: 83 e0 fc and $0xfffffffc,%eax
4d61: 83 cb 03 or $0x3,%ebx
4d64: f6 c2 02 test $0x2,%dl
4d67: 75 05 jne 4d6e <AcpiOsAcquireGlobalLock+0x1e>
4d69: 83 c8 02 or $0x2,%eax
4d6c: 89 c3 mov %eax,%ebx
4d6e: 89 d0 mov %edx,%eax
4d70: f0 0f b1 19 lock cmpxchg %ebx,(%ecx)
4d74: 75 e2 jne 4d58 <AcpiOsAcquireGlobalLock+0x8>

Old x86 gcc2 asm loop in AcpiOsReleaseGlobalLock:
11690: 89 c8 mov %ecx,%eax
11692: f0 0f b1 1a lock cmpxchg %ebx,(%edx)
11696: 39 0a cmp %ecx,(%edx)
11698: 74 f6 je 11690 <AcpiOsReleaseGlobalLock+0x10>

New x86 gcc13 asm loop in AcpiOsReleaseGlobalLock:
4d88: 8b 11 mov (%ecx),%edx
4d8a: 89 d3 mov %edx,%ebx
4d8c: 89 d0 mov %edx,%eax
4d8e: 83 e3 fc and $0xfffffffc,%ebx
4d91: f0 0f b1 19 lock cmpxchg %ebx,(%ecx)
4d95: 75 f1 jne 4d88 <AcpiOsReleaseGlobalLock+0x8>

Change-Id: Ia55ba8666efe8b5c198a01db100b4747b72df4a0
Reviewed-on: https://review.haiku-os.org/c/haiku/+/7185
Reviewed-by: waddlesplash <waddlesplash@gmail.com>
diff f2acc47f Wed Dec 06 10:38:28 MST 2023 Jérôme Duval <jerome.duval@gmail.com> acpi: update AcpiOsAcquireGlobalLock and AcpiOsReleaseGlobalLock

implementations from FreeBSD. Because the argument wasn't volatile,
the compiler wasn't considerung reading the lock content.
* fix the acquire and release loops:
The loop could be exited when any new values were read.
Instead the return value should be checked against the old value.

Old x86 gcc2 asm loop in AcpiOsAcquireGlobalLock:
11660: 89 c8 mov %ecx,%eax
11662: f0 0f b1 1a lock cmpxchg %ebx,(%edx)
11666: 39 0a cmp %ecx,(%edx)
11668: 74 f6 je 11660 <AcpiOsAcquireGlobalLock+0x20>

New x86 gcc13 asm loop in AcpiOsAcquireGlobalLock:

4d58: 8b 11 mov (%ecx),%edx
4d5a: 89 d0 mov %edx,%eax
4d5c: 89 d3 mov %edx,%ebx
4d5e: 83 e0 fc and $0xfffffffc,%eax
4d61: 83 cb 03 or $0x3,%ebx
4d64: f6 c2 02 test $0x2,%dl
4d67: 75 05 jne 4d6e <AcpiOsAcquireGlobalLock+0x1e>
4d69: 83 c8 02 or $0x2,%eax
4d6c: 89 c3 mov %eax,%ebx
4d6e: 89 d0 mov %edx,%eax
4d70: f0 0f b1 19 lock cmpxchg %ebx,(%ecx)
4d74: 75 e2 jne 4d58 <AcpiOsAcquireGlobalLock+0x8>

Old x86 gcc2 asm loop in AcpiOsReleaseGlobalLock:
11690: 89 c8 mov %ecx,%eax
11692: f0 0f b1 1a lock cmpxchg %ebx,(%edx)
11696: 39 0a cmp %ecx,(%edx)
11698: 74 f6 je 11690 <AcpiOsReleaseGlobalLock+0x10>

New x86 gcc13 asm loop in AcpiOsReleaseGlobalLock:
4d88: 8b 11 mov (%ecx),%edx
4d8a: 89 d3 mov %edx,%ebx
4d8c: 89 d0 mov %edx,%eax
4d8e: 83 e3 fc and $0xfffffffc,%ebx
4d91: f0 0f b1 19 lock cmpxchg %ebx,(%ecx)
4d95: 75 f1 jne 4d88 <AcpiOsReleaseGlobalLock+0x8>

Change-Id: Ia55ba8666efe8b5c198a01db100b4747b72df4a0
Reviewed-on: https://review.haiku-os.org/c/haiku/+/7185
Reviewed-by: waddlesplash <waddlesplash@gmail.com>
diff f2acc47f Wed Dec 06 10:38:28 MST 2023 Jérôme Duval <jerome.duval@gmail.com> acpi: update AcpiOsAcquireGlobalLock and AcpiOsReleaseGlobalLock

implementations from FreeBSD. Because the argument wasn't volatile,
the compiler wasn't considerung reading the lock content.
* fix the acquire and release loops:
The loop could be exited when any new values were read.
Instead the return value should be checked against the old value.

Old x86 gcc2 asm loop in AcpiOsAcquireGlobalLock:
11660: 89 c8 mov %ecx,%eax
11662: f0 0f b1 1a lock cmpxchg %ebx,(%edx)
11666: 39 0a cmp %ecx,(%edx)
11668: 74 f6 je 11660 <AcpiOsAcquireGlobalLock+0x20>

New x86 gcc13 asm loop in AcpiOsAcquireGlobalLock:

4d58: 8b 11 mov (%ecx),%edx
4d5a: 89 d0 mov %edx,%eax
4d5c: 89 d3 mov %edx,%ebx
4d5e: 83 e0 fc and $0xfffffffc,%eax
4d61: 83 cb 03 or $0x3,%ebx
4d64: f6 c2 02 test $0x2,%dl
4d67: 75 05 jne 4d6e <AcpiOsAcquireGlobalLock+0x1e>
4d69: 83 c8 02 or $0x2,%eax
4d6c: 89 c3 mov %eax,%ebx
4d6e: 89 d0 mov %edx,%eax
4d70: f0 0f b1 19 lock cmpxchg %ebx,(%ecx)
4d74: 75 e2 jne 4d58 <AcpiOsAcquireGlobalLock+0x8>

Old x86 gcc2 asm loop in AcpiOsReleaseGlobalLock:
11690: 89 c8 mov %ecx,%eax
11692: f0 0f b1 1a lock cmpxchg %ebx,(%edx)
11696: 39 0a cmp %ecx,(%edx)
11698: 74 f6 je 11690 <AcpiOsReleaseGlobalLock+0x10>

New x86 gcc13 asm loop in AcpiOsReleaseGlobalLock:
4d88: 8b 11 mov (%ecx),%edx
4d8a: 89 d3 mov %edx,%ebx
4d8c: 89 d0 mov %edx,%eax
4d8e: 83 e3 fc and $0xfffffffc,%ebx
4d91: f0 0f b1 19 lock cmpxchg %ebx,(%ecx)
4d95: 75 f1 jne 4d88 <AcpiOsReleaseGlobalLock+0x8>

Change-Id: Ia55ba8666efe8b5c198a01db100b4747b72df4a0
Reviewed-on: https://review.haiku-os.org/c/haiku/+/7185
Reviewed-by: waddlesplash <waddlesplash@gmail.com>
diff f2acc47f Wed Dec 06 10:38:28 MST 2023 Jérôme Duval <jerome.duval@gmail.com> acpi: update AcpiOsAcquireGlobalLock and AcpiOsReleaseGlobalLock

implementations from FreeBSD. Because the argument wasn't volatile,
the compiler wasn't considerung reading the lock content.
* fix the acquire and release loops:
The loop could be exited when any new values were read.
Instead the return value should be checked against the old value.

Old x86 gcc2 asm loop in AcpiOsAcquireGlobalLock:
11660: 89 c8 mov %ecx,%eax
11662: f0 0f b1 1a lock cmpxchg %ebx,(%edx)
11666: 39 0a cmp %ecx,(%edx)
11668: 74 f6 je 11660 <AcpiOsAcquireGlobalLock+0x20>

New x86 gcc13 asm loop in AcpiOsAcquireGlobalLock:

4d58: 8b 11 mov (%ecx),%edx
4d5a: 89 d0 mov %edx,%eax
4d5c: 89 d3 mov %edx,%ebx
4d5e: 83 e0 fc and $0xfffffffc,%eax
4d61: 83 cb 03 or $0x3,%ebx
4d64: f6 c2 02 test $0x2,%dl
4d67: 75 05 jne 4d6e <AcpiOsAcquireGlobalLock+0x1e>
4d69: 83 c8 02 or $0x2,%eax
4d6c: 89 c3 mov %eax,%ebx
4d6e: 89 d0 mov %edx,%eax
4d70: f0 0f b1 19 lock cmpxchg %ebx,(%ecx)
4d74: 75 e2 jne 4d58 <AcpiOsAcquireGlobalLock+0x8>

Old x86 gcc2 asm loop in AcpiOsReleaseGlobalLock:
11690: 89 c8 mov %ecx,%eax
11692: f0 0f b1 1a lock cmpxchg %ebx,(%edx)
11696: 39 0a cmp %ecx,(%edx)
11698: 74 f6 je 11690 <AcpiOsReleaseGlobalLock+0x10>

New x86 gcc13 asm loop in AcpiOsReleaseGlobalLock:
4d88: 8b 11 mov (%ecx),%edx
4d8a: 89 d3 mov %edx,%ebx
4d8c: 89 d0 mov %edx,%eax
4d8e: 83 e3 fc and $0xfffffffc,%ebx
4d91: f0 0f b1 19 lock cmpxchg %ebx,(%ecx)
4d95: 75 f1 jne 4d88 <AcpiOsReleaseGlobalLock+0x8>

Change-Id: Ia55ba8666efe8b5c198a01db100b4747b72df4a0
Reviewed-on: https://review.haiku-os.org/c/haiku/+/7185
Reviewed-by: waddlesplash <waddlesplash@gmail.com>
diff f2acc47f Wed Dec 06 10:38:28 MST 2023 Jérôme Duval <jerome.duval@gmail.com> acpi: update AcpiOsAcquireGlobalLock and AcpiOsReleaseGlobalLock

implementations from FreeBSD. Because the argument wasn't volatile,
the compiler wasn't considerung reading the lock content.
* fix the acquire and release loops:
The loop could be exited when any new values were read.
Instead the return value should be checked against the old value.

Old x86 gcc2 asm loop in AcpiOsAcquireGlobalLock:
11660: 89 c8 mov %ecx,%eax
11662: f0 0f b1 1a lock cmpxchg %ebx,(%edx)
11666: 39 0a cmp %ecx,(%edx)
11668: 74 f6 je 11660 <AcpiOsAcquireGlobalLock+0x20>

New x86 gcc13 asm loop in AcpiOsAcquireGlobalLock:

4d58: 8b 11 mov (%ecx),%edx
4d5a: 89 d0 mov %edx,%eax
4d5c: 89 d3 mov %edx,%ebx
4d5e: 83 e0 fc and $0xfffffffc,%eax
4d61: 83 cb 03 or $0x3,%ebx
4d64: f6 c2 02 test $0x2,%dl
4d67: 75 05 jne 4d6e <AcpiOsAcquireGlobalLock+0x1e>
4d69: 83 c8 02 or $0x2,%eax
4d6c: 89 c3 mov %eax,%ebx
4d6e: 89 d0 mov %edx,%eax
4d70: f0 0f b1 19 lock cmpxchg %ebx,(%ecx)
4d74: 75 e2 jne 4d58 <AcpiOsAcquireGlobalLock+0x8>

Old x86 gcc2 asm loop in AcpiOsReleaseGlobalLock:
11690: 89 c8 mov %ecx,%eax
11692: f0 0f b1 1a lock cmpxchg %ebx,(%edx)
11696: 39 0a cmp %ecx,(%edx)
11698: 74 f6 je 11690 <AcpiOsReleaseGlobalLock+0x10>

New x86 gcc13 asm loop in AcpiOsReleaseGlobalLock:
4d88: 8b 11 mov (%ecx),%edx
4d8a: 89 d3 mov %edx,%ebx
4d8c: 89 d0 mov %edx,%eax
4d8e: 83 e3 fc and $0xfffffffc,%ebx
4d91: f0 0f b1 19 lock cmpxchg %ebx,(%ecx)
4d95: 75 f1 jne 4d88 <AcpiOsReleaseGlobalLock+0x8>

Change-Id: Ia55ba8666efe8b5c198a01db100b4747b72df4a0
Reviewed-on: https://review.haiku-os.org/c/haiku/+/7185
Reviewed-by: waddlesplash <waddlesplash@gmail.com>
/haiku/headers/private/storage/
H A Dquery_private.hdiff 4a5a077f Sun Oct 24 14:47:46 MDT 2010 Clemens Zeidler <clemens.zeidler@googlemail.com> Add a private B_ATTR_CHANGE_NOTIFICATION flag to the open query syscall to tell the query to send notifications when an entry attribute changed and the entry stays in the query. Previously you only get created and removed messages, now you can also get updated messages. Only implement it for bfs.
Fix copy right.



git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@39131 a95241bf-73f2-0310-859d-f6bbb57e9c96
4a5a077ff79e1b1ffb2571fdfc5ea8218a64196c Sun Oct 24 14:47:46 MDT 2010 Clemens Zeidler <clemens.zeidler@googlemail.com> Add a private B_ATTR_CHANGE_NOTIFICATION flag to the open query syscall to tell the query to send notifications when an entry attribute changed and the entry stays in the query. Previously you only get created and removed messages, now you can also get updated messages. Only implement it for bfs.
Fix copy right.



git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@39131 a95241bf-73f2-0310-859d-f6bbb57e9c96
/haiku/src/add-ons/input_server/devices/serial_mouse/
H A DMouseInputDevice.hdiff 4e8891d1 Fri Nov 26 01:17:37 MST 2004 Stefano Ceccherini <stefano.ceccherini@gmail.com> Check in the serial mouse addon before I forget about it (hmmm holidays...).
Should be cleaned up a bit and maybe merged with the "other" mouse addon.
Courtesy of Oscar Lesta aka BiPolar


git-svn-id: file:///srv/svn/repos/haiku/trunk/current@10246 a95241bf-73f2-0310-859d-f6bbb57e9c96
4e8891d152d27730aa8efebf12ac1f40fb490800 Fri Nov 26 01:17:37 MST 2004 Stefano Ceccherini <stefano.ceccherini@gmail.com> Check in the serial mouse addon before I forget about it (hmmm holidays...).
Should be cleaned up a bit and maybe merged with the "other" mouse addon.
Courtesy of Oscar Lesta aka BiPolar


git-svn-id: file:///srv/svn/repos/haiku/trunk/current@10246 a95241bf-73f2-0310-859d-f6bbb57e9c96
/haiku/src/add-ons/kernel/cpu/ppc/
H A DJamfilediff 4f006133 Mon Dec 12 10:20:32 MST 2005 Axel Dörfler <axeld@pinc-software.de> Added generic x86 CPU module.
Contains (emtpy) modules for Intel/AMD/VIA models.
Might be separated later, though, depending on how large they will get.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@15522 a95241bf-73f2-0310-859d-f6bbb57e9c96
4f00613311d0bd6b70fa82ce19931c41f071ea4e Mon Dec 12 10:20:32 MST 2005 Axel Dörfler <axeld@pinc-software.de> Added generic x86 CPU module.
Contains (emtpy) modules for Intel/AMD/VIA models.
Might be separated later, though, depending on how large they will get.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@15522 a95241bf-73f2-0310-859d-f6bbb57e9c96
/haiku/src/add-ons/kernel/cpu/x86/
H A Damd.hdiff 4f006133 Mon Dec 12 10:20:32 MST 2005 Axel Dörfler <axeld@pinc-software.de> Added generic x86 CPU module.
Contains (emtpy) modules for Intel/AMD/VIA models.
Might be separated later, though, depending on how large they will get.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@15522 a95241bf-73f2-0310-859d-f6bbb57e9c96
4f00613311d0bd6b70fa82ce19931c41f071ea4e Mon Dec 12 10:20:32 MST 2005 Axel Dörfler <axeld@pinc-software.de> Added generic x86 CPU module.
Contains (emtpy) modules for Intel/AMD/VIA models.
Might be separated later, though, depending on how large they will get.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@15522 a95241bf-73f2-0310-859d-f6bbb57e9c96
H A Dintel.hdiff 4f006133 Mon Dec 12 10:20:32 MST 2005 Axel Dörfler <axeld@pinc-software.de> Added generic x86 CPU module.
Contains (emtpy) modules for Intel/AMD/VIA models.
Might be separated later, though, depending on how large they will get.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@15522 a95241bf-73f2-0310-859d-f6bbb57e9c96
4f00613311d0bd6b70fa82ce19931c41f071ea4e Mon Dec 12 10:20:32 MST 2005 Axel Dörfler <axeld@pinc-software.de> Added generic x86 CPU module.
Contains (emtpy) modules for Intel/AMD/VIA models.
Might be separated later, though, depending on how large they will get.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@15522 a95241bf-73f2-0310-859d-f6bbb57e9c96
H A Dvia.hdiff 4f006133 Mon Dec 12 10:20:32 MST 2005 Axel Dörfler <axeld@pinc-software.de> Added generic x86 CPU module.
Contains (emtpy) modules for Intel/AMD/VIA models.
Might be separated later, though, depending on how large they will get.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@15522 a95241bf-73f2-0310-859d-f6bbb57e9c96
4f00613311d0bd6b70fa82ce19931c41f071ea4e Mon Dec 12 10:20:32 MST 2005 Axel Dörfler <axeld@pinc-software.de> Added generic x86 CPU module.
Contains (emtpy) modules for Intel/AMD/VIA models.
Might be separated later, though, depending on how large they will get.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@15522 a95241bf-73f2-0310-859d-f6bbb57e9c96
/haiku/src/add-ons/screen_savers/glife/
H A DGLifeGrid.hdiff 4b66f476 Sat Apr 07 20:06:48 MDT 2012 Alexander von Gluck IV <kallisti5@unixzen.com> glife: Style cleanup. Spaces. No functional change.
diff 4b66f476de4dd838321f118fdc319ad93dc50d08 Sat Apr 07 20:06:48 MDT 2012 Alexander von Gluck IV <kallisti5@unixzen.com> glife: Style cleanup. Spaces. No functional change.
/haiku/src/add-ons/translators/exr/
H A DEXRGamma.hdiff 6b1fc6fc Sun Feb 03 06:01:23 MST 2008 Jérôme Duval <korli@users.berlios.de> added a translator for EXR images, based on www.openexr.com
This builds only with GCC 4, mostly because it needs libstdc++ v3


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@23834 a95241bf-73f2-0310-859d-f6bbb57e9c96
6b1fc6fcb71dde0c3e77db87630cf5ae6ca895c9 Sun Feb 03 06:01:23 MST 2008 Jérôme Duval <korli@users.berlios.de> added a translator for EXR images, based on www.openexr.com
This builds only with GCC 4, mostly because it needs libstdc++ v3


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@23834 a95241bf-73f2-0310-859d-f6bbb57e9c96
H A DEXRTranslator.hdiff 6b1fc6fc Sun Feb 03 06:01:23 MST 2008 Jérôme Duval <korli@users.berlios.de> added a translator for EXR images, based on www.openexr.com
This builds only with GCC 4, mostly because it needs libstdc++ v3


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@23834 a95241bf-73f2-0310-859d-f6bbb57e9c96
6b1fc6fcb71dde0c3e77db87630cf5ae6ca895c9 Sun Feb 03 06:01:23 MST 2008 Jérôme Duval <korli@users.berlios.de> added a translator for EXR images, based on www.openexr.com
This builds only with GCC 4, mostly because it needs libstdc++ v3


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@23834 a95241bf-73f2-0310-859d-f6bbb57e9c96
/haiku/src/system/libroot/os/arch/x86_64/
H A Dsyscalls.incdiff fe2e7327 Mon Jul 23 07:18:54 MDT 2012 Alex Smith <alex@alex-smith.me.uk> Avoid an unnecessary mov on syscalls with < 4 arguments.
diff fe2e7327217d3e99738f88c2acd5beb45d6dbbed Mon Jul 23 07:18:54 MDT 2012 Alex Smith <alex@alex-smith.me.uk> Avoid an unnecessary mov on syscalls with < 4 arguments.
/haiku/src/tests/apps/miniterminal/
H A DArguments.cppdiff 758b1d0e Sat Nov 12 16:27:14 MST 2005 Ingo Weinhold <ingo_weinhold@gmx.de> Fixes that make Haiku build with gcc 4. Mainly out of the following
categories:
* Missing includes (like <stdlib.h> and <string.h>).
* Linking against $(TARGET_LIBSTDC++) instead of libstdc++.r4.so.
* Local variables shadowing parameters.
* Default parameters in function definitions (as opposed to function
declarations).
* All C++ stuff (nothrow, map, set, vector, min, max,...) must be imported
explicitly from the std:: namespace now.
* "new (sometype)[...]" must read "new sometype[...]", even if sometype is
something like "const char *".
* __FUNCTION__ is no longer a string literal (but a string expression), i.e.
'printf(__FUNCTION__ ": ...\n")' is invalid code.
* A type cast results in a non-lvalue. E.g. "(char *)buffer += bytes"
is an invalid expression.
* "friend class SomeClass" only works when SomeClass is known before.
Otherwise the an inner class with that name is considered as friend.
gcc 4 is much pickier about scopes.
* gcc 4 is generally stricter with respect to type conversions in C.



git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@14878 a95241bf-73f2-0310-859d-f6bbb57e9c96
diff 758b1d0e Sat Nov 12 16:27:14 MST 2005 Ingo Weinhold <ingo_weinhold@gmx.de> Fixes that make Haiku build with gcc 4. Mainly out of the following
categories:
* Missing includes (like <stdlib.h> and <string.h>).
* Linking against $(TARGET_LIBSTDC++) instead of libstdc++.r4.so.
* Local variables shadowing parameters.
* Default parameters in function definitions (as opposed to function
declarations).
* All C++ stuff (nothrow, map, set, vector, min, max,...) must be imported
explicitly from the std:: namespace now.
* "new (sometype)[...]" must read "new sometype[...]", even if sometype is
something like "const char *".
* __FUNCTION__ is no longer a string literal (but a string expression), i.e.
'printf(__FUNCTION__ ": ...\n")' is invalid code.
* A type cast results in a non-lvalue. E.g. "(char *)buffer += bytes"
is an invalid expression.
* "friend class SomeClass" only works when SomeClass is known before.
Otherwise the an inner class with that name is considered as friend.
gcc 4 is much pickier about scopes.
* gcc 4 is generally stricter with respect to type conversions in C.



git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@14878 a95241bf-73f2-0310-859d-f6bbb57e9c96
diff 758b1d0e Sat Nov 12 16:27:14 MST 2005 Ingo Weinhold <ingo_weinhold@gmx.de> Fixes that make Haiku build with gcc 4. Mainly out of the following
categories:
* Missing includes (like <stdlib.h> and <string.h>).
* Linking against $(TARGET_LIBSTDC++) instead of libstdc++.r4.so.
* Local variables shadowing parameters.
* Default parameters in function definitions (as opposed to function
declarations).
* All C++ stuff (nothrow, map, set, vector, min, max,...) must be imported
explicitly from the std:: namespace now.
* "new (sometype)[...]" must read "new sometype[...]", even if sometype is
something like "const char *".
* __FUNCTION__ is no longer a string literal (but a string expression), i.e.
'printf(__FUNCTION__ ": ...\n")' is invalid code.
* A type cast results in a non-lvalue. E.g. "(char *)buffer += bytes"
is an invalid expression.
* "friend class SomeClass" only works when SomeClass is known before.
Otherwise the an inner class with that name is considered as friend.
gcc 4 is much pickier about scopes.
* gcc 4 is generally stricter with respect to type conversions in C.



git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@14878 a95241bf-73f2-0310-859d-f6bbb57e9c96
diff 4cbc183b Thu Jul 21 17:52:06 MDT 2005 Ingo Weinhold <ingo_weinhold@gmx.de> Added option "-t" to specify the window title.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@13797 a95241bf-73f2-0310-859d-f6bbb57e9c96
diff 758b1d0e05fe1042cce6e00d194a147802d4f9be Sat Nov 12 16:27:14 MST 2005 Ingo Weinhold <ingo_weinhold@gmx.de> Fixes that make Haiku build with gcc 4. Mainly out of the following
categories:
* Missing includes (like <stdlib.h> and <string.h>).
* Linking against $(TARGET_LIBSTDC++) instead of libstdc++.r4.so.
* Local variables shadowing parameters.
* Default parameters in function definitions (as opposed to function
declarations).
* All C++ stuff (nothrow, map, set, vector, min, max,...) must be imported
explicitly from the std:: namespace now.
* "new (sometype)[...]" must read "new sometype[...]", even if sometype is
something like "const char *".
* __FUNCTION__ is no longer a string literal (but a string expression), i.e.
'printf(__FUNCTION__ ": ...\n")' is invalid code.
* A type cast results in a non-lvalue. E.g. "(char *)buffer += bytes"
is an invalid expression.
* "friend class SomeClass" only works when SomeClass is known before.
Otherwise the an inner class with that name is considered as friend.
gcc 4 is much pickier about scopes.
* gcc 4 is generally stricter with respect to type conversions in C.



git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@14878 a95241bf-73f2-0310-859d-f6bbb57e9c96
diff 758b1d0e05fe1042cce6e00d194a147802d4f9be Sat Nov 12 16:27:14 MST 2005 Ingo Weinhold <ingo_weinhold@gmx.de> Fixes that make Haiku build with gcc 4. Mainly out of the following
categories:
* Missing includes (like <stdlib.h> and <string.h>).
* Linking against $(TARGET_LIBSTDC++) instead of libstdc++.r4.so.
* Local variables shadowing parameters.
* Default parameters in function definitions (as opposed to function
declarations).
* All C++ stuff (nothrow, map, set, vector, min, max,...) must be imported
explicitly from the std:: namespace now.
* "new (sometype)[...]" must read "new sometype[...]", even if sometype is
something like "const char *".
* __FUNCTION__ is no longer a string literal (but a string expression), i.e.
'printf(__FUNCTION__ ": ...\n")' is invalid code.
* A type cast results in a non-lvalue. E.g. "(char *)buffer += bytes"
is an invalid expression.
* "friend class SomeClass" only works when SomeClass is known before.
Otherwise the an inner class with that name is considered as friend.
gcc 4 is much pickier about scopes.
* gcc 4 is generally stricter with respect to type conversions in C.



git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@14878 a95241bf-73f2-0310-859d-f6bbb57e9c96
diff 758b1d0e05fe1042cce6e00d194a147802d4f9be Sat Nov 12 16:27:14 MST 2005 Ingo Weinhold <ingo_weinhold@gmx.de> Fixes that make Haiku build with gcc 4. Mainly out of the following
categories:
* Missing includes (like <stdlib.h> and <string.h>).
* Linking against $(TARGET_LIBSTDC++) instead of libstdc++.r4.so.
* Local variables shadowing parameters.
* Default parameters in function definitions (as opposed to function
declarations).
* All C++ stuff (nothrow, map, set, vector, min, max,...) must be imported
explicitly from the std:: namespace now.
* "new (sometype)[...]" must read "new sometype[...]", even if sometype is
something like "const char *".
* __FUNCTION__ is no longer a string literal (but a string expression), i.e.
'printf(__FUNCTION__ ": ...\n")' is invalid code.
* A type cast results in a non-lvalue. E.g. "(char *)buffer += bytes"
is an invalid expression.
* "friend class SomeClass" only works when SomeClass is known before.
Otherwise the an inner class with that name is considered as friend.
gcc 4 is much pickier about scopes.
* gcc 4 is generally stricter with respect to type conversions in C.



git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@14878 a95241bf-73f2-0310-859d-f6bbb57e9c96
diff 4cbc183b53c514dfa87690f2e4ffb596dbeb708f Thu Jul 21 17:52:06 MDT 2005 Ingo Weinhold <ingo_weinhold@gmx.de> Added option "-t" to specify the window title.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@13797 a95241bf-73f2-0310-859d-f6bbb57e9c96
/haiku/src/tests/servers/app/menu_crash/
H A DMenuCrash.cppdiff 4c751e51 Sat Sep 01 18:02:57 MDT 2007 Axel Dörfler <axeld@pinc-software.de> Added a test application to investigate how BeOS deals with keyboard input
in menus - the application will crash as soon as you open the "Crash" sub
menu.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@22148 a95241bf-73f2-0310-859d-f6bbb57e9c96
4c751e51c8d51ee24a8717df3f46fb84824b3892 Sat Sep 01 18:02:57 MDT 2007 Axel Dörfler <axeld@pinc-software.de> Added a test application to investigate how BeOS deals with keyboard input
in menus - the application will crash as soon as you open the "Crash" sub
menu.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@22148 a95241bf-73f2-0310-859d-f6bbb57e9c96
/haiku/src/add-ons/kernel/file_systems/nfs4/
H A DRPCCallback.cppdiff 4a153753 Sun Aug 05 18:03:28 MDT 2012 Pawel Dziepak <pdziepak@quarnos.org> nfs4: Return delegations when asked to
diff 4a153753100503cf374d01079fb29ca83d3ac44b Sun Aug 05 18:03:28 MDT 2012 Pawel Dziepak <pdziepak@quarnos.org> nfs4: Return delegations when asked to
H A DRPCCallback.hdiff 4a153753 Sun Aug 05 18:03:28 MDT 2012 Pawel Dziepak <pdziepak@quarnos.org> nfs4: Return delegations when asked to
diff 4a153753100503cf374d01079fb29ca83d3ac44b Sun Aug 05 18:03:28 MDT 2012 Pawel Dziepak <pdziepak@quarnos.org> nfs4: Return delegations when asked to
/haiku/headers/glibc/
H A Dprintf.hdiff 4ddd7f8c Wed Jul 17 10:07:56 MDT 2013 Oliver Tappe <zooey@hirschkaefer.de> Make public glibc header printf.h usable.
diff 4ddd7f8c9414afc9725cec448a9b701167f18d6f Wed Jul 17 10:07:56 MDT 2013 Oliver Tappe <zooey@hirschkaefer.de> Make public glibc header printf.h usable.
/haiku/src/add-ons/screen_savers/gravity/
H A DRainbowItem.h4b834557 Tue Apr 12 20:18:40 MDT 2016 John Scipione <jscipione@gmail.com> Gravity: Add ColorItem and RainbowItem

instead of using boring StringItems

ColorItem draws a small colored rectangle left of the string
RainbowItem draws a rainbow colored rectangle left of the string
/haiku/src/add-ons/media/plugins/rtsp_streamer/
H A Drtsp.cpp4c7eafb7 Thu Jun 02 10:58:48 MDT 2016 Dario Casalinuovo <b.vitruvio@gmail.com> Include testing version rtsp_streamer

* Rewritten from scratch to use live555 and BAdapterIO.
/haiku/headers/private/system/
H A Dconvertutf.hdiff ebd3bcdb Wed Feb 12 18:15:18 MST 2014 John Scipione <jscipione@gmail.com> exfat: handle 4-byte UTF-16 surrogate pairs

... in filenames. Replace the existing Unicode conversion functions
with UTF conversion functions from js that he relicensed MIT for us.

Put the UTF conversion functions in a private but shared code location
so that they can be accessed throughout the kernel.

Right now we only provide functions to convert between UTF-8 and UTF-16.
At some point we should also add functions to convert between UTF-8 and
UTF-32 and UTF-16 and UTF-32 but these aren't needed by exfat.

Remove the old Unicode conversion functions from exfat as they assumed
UCS-2 characters and don't work with UTF-16 used by exfat.

Rename most variables with the term length with code unit where code units
are intended. The term length, when used, means length in bytes while code
units represent either a full 2-byte UTF-16 character or half a 4-byte
surrogate pair.
diff ebd3bcdb Wed Feb 12 18:15:18 MST 2014 John Scipione <jscipione@gmail.com> exfat: handle 4-byte UTF-16 surrogate pairs

... in filenames. Replace the existing Unicode conversion functions
with UTF conversion functions from js that he relicensed MIT for us.

Put the UTF conversion functions in a private but shared code location
so that they can be accessed throughout the kernel.

Right now we only provide functions to convert between UTF-8 and UTF-16.
At some point we should also add functions to convert between UTF-8 and
UTF-32 and UTF-16 and UTF-32 but these aren't needed by exfat.

Remove the old Unicode conversion functions from exfat as they assumed
UCS-2 characters and don't work with UTF-16 used by exfat.

Rename most variables with the term length with code unit where code units
are intended. The term length, when used, means length in bytes while code
units represent either a full 2-byte UTF-16 character or half a 4-byte
surrogate pair.
ebd3bcdb9be2d6a57fc5b3270dcb49a9e1894d11 Wed Feb 12 18:15:18 MST 2014 John Scipione <jscipione@gmail.com> exfat: handle 4-byte UTF-16 surrogate pairs

... in filenames. Replace the existing Unicode conversion functions
with UTF conversion functions from js that he relicensed MIT for us.

Put the UTF conversion functions in a private but shared code location
so that they can be accessed throughout the kernel.

Right now we only provide functions to convert between UTF-8 and UTF-16.
At some point we should also add functions to convert between UTF-8 and
UTF-32 and UTF-16 and UTF-32 but these aren't needed by exfat.

Remove the old Unicode conversion functions from exfat as they assumed
UCS-2 characters and don't work with UTF-16 used by exfat.

Rename most variables with the term length with code unit where code units
are intended. The term length, when used, means length in bytes while code
units represent either a full 2-byte UTF-16 character or half a 4-byte
surrogate pair.
ebd3bcdb9be2d6a57fc5b3270dcb49a9e1894d11 Wed Feb 12 18:15:18 MST 2014 John Scipione <jscipione@gmail.com> exfat: handle 4-byte UTF-16 surrogate pairs

... in filenames. Replace the existing Unicode conversion functions
with UTF conversion functions from js that he relicensed MIT for us.

Put the UTF conversion functions in a private but shared code location
so that they can be accessed throughout the kernel.

Right now we only provide functions to convert between UTF-8 and UTF-16.
At some point we should also add functions to convert between UTF-8 and
UTF-32 and UTF-16 and UTF-32 but these aren't needed by exfat.

Remove the old Unicode conversion functions from exfat as they assumed
UCS-2 characters and don't work with UTF-16 used by exfat.

Rename most variables with the term length with code unit where code units
are intended. The term length, when used, means length in bytes while code
units represent either a full 2-byte UTF-16 character or half a 4-byte
surrogate pair.
/haiku/src/add-ons/kernel/drivers/network/wlan/broadcom43xx/dev/bwi/
H A Dopt_wlan.hdiff 4fab93c7fc4f7efdd2c9b7336c0e1b3a7b6547fd Mon Jul 14 10:21:38 MDT 2014 Jérôme Duval <jerome.duval@gmail.com> clean up files unrelated to the FreeBSD 9.3 driver update.
/haiku/headers/build/os/support/
H A DStackOrHeapArray.h4c5e5d8b Sun Nov 25 14:26:42 MST 2018 Murai Takashi <tmurai01@gmail.com> tools/locale: Fix using auto_ptr to array.

Use BStackOrHeapArray instead of using auto_ptr to array.

Change-Id: I171cb002829c36ec51ba7d1e387869263e2a40f2
Reviewed-on: https://review.haiku-os.org/745
Reviewed-by: Adrien Destugues <pulkomandy@pulkomandy.tk>
/haiku/3rdparty/korli/
H A Dgenerate_ids_from_drivers.sh4a55cc23 Mon Oct 24 12:12:59 MDT 2022 Jérôme Duval <jerome.duval@gmail.com> script to parse supported ids for network drivers

format similar to lkddb

Change-Id: Ie46becca48d4d8b7b37106f28c68dd6f60fa3322
Reviewed-on: https://review.haiku-os.org/c/haiku/+/5761
Tested-by: Commit checker robot <no-reply+buildbot@haiku-os.org>
Reviewed-by: Adrien Destugues <pulkomandy@pulkomandy.tk>

Completed in 285 milliseconds

1234567891011>>