mirror of
https://github.com/Motorhead1991/qemu.git
synced 2025-08-05 16:53:55 -06:00
chardev patch queue
-----BEGIN PGP SIGNATURE----- iQJQBAABCAA6FiEEh6m9kz+HxgbSdvYt2ujhCXWWnOUFAmdNp4EcHG1hcmNhbmRy ZS5sdXJlYXVAcmVkaGF0LmNvbQAKCRDa6OEJdZac5WsaD/92DwK0nKM7HqbqQOHN lR715V8ve16+mWYZnWA4jQvclFUigg0Xbxl6d6adsK5QnW2nDGgjf3cXsCngUx7K jNCmynQrpmUx7a7BRgXylEl5zN/HLeVvk2Qb4Jg8EAkRK0utK1Aerlx6CV2fzbR/ zDslP+C7ELk9evNwWx6PZRgeOii0sL7lto67J4a5Iri2IU4yi9zI/irEIxeE4cDT P3KFXYsgbm86VC6HaOBWw5+d5JyPr2hVHxvKMpI4YNyU/f2RHdhfqgsLS1gms2Yz JBuh8DpIq0E+rdQp4ofH5SBPuOFxg7SgDFAyqgHerDd4uAwUafyOfAEVy2hpZmNT 3JlavSMb2SFhWboMUu9B+gRHC+sc7YCoPZEhaIaciW3XaC/S1JJi/fvB8gcugBDs lgTUIDEsXLMcgXaFNKbRXpuLG5eXRnzaQ4Y9Gr/3yEvY8eSZ6+x3EDwSMGfg/Ta1 OW+h09AvWfJR5eZ13x+5CCMFRs8RgQN/D+mxYt3cZ/SdNSBci/4By54IGEgGCCM8 xoTAqcd2kbpHg2S/MTx7O7OPNC38TbUaOWDR6u0qO0ZXqZA6OdlC+g/Z1uu7ZMqA FkOTQZuDDgOOhpsmLy4v3nKmFBQNJAPVyfph88DE1QyrU5nVCS55lyTy/ZH2hayL RCVbI20jrgEJoi44EFdFu6QP/Q== =0vex -----END PGP SIGNATURE----- Merge tag 'chr-pull-request' of https://gitlab.com/marcandre.lureau/qemu into staging chardev patch queue # -----BEGIN PGP SIGNATURE----- # # iQJQBAABCAA6FiEEh6m9kz+HxgbSdvYt2ujhCXWWnOUFAmdNp4EcHG1hcmNhbmRy # ZS5sdXJlYXVAcmVkaGF0LmNvbQAKCRDa6OEJdZac5WsaD/92DwK0nKM7HqbqQOHN # lR715V8ve16+mWYZnWA4jQvclFUigg0Xbxl6d6adsK5QnW2nDGgjf3cXsCngUx7K # jNCmynQrpmUx7a7BRgXylEl5zN/HLeVvk2Qb4Jg8EAkRK0utK1Aerlx6CV2fzbR/ # zDslP+C7ELk9evNwWx6PZRgeOii0sL7lto67J4a5Iri2IU4yi9zI/irEIxeE4cDT # P3KFXYsgbm86VC6HaOBWw5+d5JyPr2hVHxvKMpI4YNyU/f2RHdhfqgsLS1gms2Yz # JBuh8DpIq0E+rdQp4ofH5SBPuOFxg7SgDFAyqgHerDd4uAwUafyOfAEVy2hpZmNT # 3JlavSMb2SFhWboMUu9B+gRHC+sc7YCoPZEhaIaciW3XaC/S1JJi/fvB8gcugBDs # lgTUIDEsXLMcgXaFNKbRXpuLG5eXRnzaQ4Y9Gr/3yEvY8eSZ6+x3EDwSMGfg/Ta1 # OW+h09AvWfJR5eZ13x+5CCMFRs8RgQN/D+mxYt3cZ/SdNSBci/4By54IGEgGCCM8 # xoTAqcd2kbpHg2S/MTx7O7OPNC38TbUaOWDR6u0qO0ZXqZA6OdlC+g/Z1uu7ZMqA # FkOTQZuDDgOOhpsmLy4v3nKmFBQNJAPVyfph88DE1QyrU5nVCS55lyTy/ZH2hayL # RCVbI20jrgEJoi44EFdFu6QP/Q== # =0vex # -----END PGP SIGNATURE----- # gpg: Signature made Mon 02 Dec 2024 12:26:41 GMT # gpg: using RSA key 87A9BD933F87C606D276F62DDAE8E10975969CE5 # gpg: issuer "marcandre.lureau@redhat.com" # gpg: Good signature from "Marc-André Lureau <marcandre.lureau@redhat.com>" [full] # gpg: aka "Marc-André Lureau <marcandre.lureau@gmail.com>" [full] # Primary key fingerprint: 87A9 BD93 3F87 C606 D276 F62D DAE8 E109 7596 9CE5 * tag 'chr-pull-request' of https://gitlab.com/marcandre.lureau/qemu: chardev/char-mux: make boolean bit check instead of find_next_bit() chardev/char-mux: shift unsigned long to avoid 32-bit overflow Signed-off-by: Peter Maydell <peter.maydell@linaro.org>
This commit is contained in:
commit
412df55286
1 changed files with 7 additions and 8 deletions
|
@ -316,6 +316,8 @@ bool mux_chr_attach_frontend(MuxChardev *d, CharBackend *b,
|
|||
{
|
||||
unsigned int bit;
|
||||
|
||||
QEMU_BUILD_BUG_ON(MAX_MUX > (sizeof(d->mux_bitset) * BITS_PER_BYTE));
|
||||
|
||||
bit = find_next_zero_bit(&d->mux_bitset, MAX_MUX, 0);
|
||||
if (bit >= MAX_MUX) {
|
||||
error_setg(errp,
|
||||
|
@ -325,7 +327,7 @@ bool mux_chr_attach_frontend(MuxChardev *d, CharBackend *b,
|
|||
return false;
|
||||
}
|
||||
|
||||
d->mux_bitset |= (1 << bit);
|
||||
d->mux_bitset |= (1ul << bit);
|
||||
d->backends[bit] = b;
|
||||
*tag = bit;
|
||||
|
||||
|
@ -334,15 +336,12 @@ bool mux_chr_attach_frontend(MuxChardev *d, CharBackend *b,
|
|||
|
||||
bool mux_chr_detach_frontend(MuxChardev *d, unsigned int tag)
|
||||
{
|
||||
unsigned int bit;
|
||||
|
||||
bit = find_next_bit(&d->mux_bitset, MAX_MUX, tag);
|
||||
if (bit != tag) {
|
||||
if (!(d->mux_bitset & (1ul << tag))) {
|
||||
return false;
|
||||
}
|
||||
|
||||
d->mux_bitset &= ~(1 << bit);
|
||||
d->backends[bit] = NULL;
|
||||
d->mux_bitset &= ~(1ul << tag);
|
||||
d->backends[tag] = NULL;
|
||||
|
||||
return true;
|
||||
}
|
||||
|
@ -351,7 +350,7 @@ void mux_set_focus(Chardev *chr, unsigned int focus)
|
|||
{
|
||||
MuxChardev *d = MUX_CHARDEV(chr);
|
||||
|
||||
assert(find_next_bit(&d->mux_bitset, MAX_MUX, focus) == focus);
|
||||
assert(d->mux_bitset & (1ul << focus));
|
||||
|
||||
if (d->focus != -1) {
|
||||
mux_chr_send_event(d, d->focus, CHR_EVENT_MUX_OUT);
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue