|
iPXE
|
Optimised string operations. More...
Go to the source code of this file.
Functions | |
| FILE_LICENCE (GPL2_OR_LATER_OR_UBDL) | |
| void * | __memcpy (void *dest, const void *src, size_t len) |
| void * | __memcpy_reverse (void *dest, const void *src, size_t len) |
| static | __attribute__ ((always_inline)) void *__constant_memcpy(void *dest |
| Copy memory area (where length is a compile-time constant) More... | |
| union { | |
| uint32_t u32 [2] | |
| uint16_t u16 [4] | |
| uint8_t u8 [8] | |
| } | __attribute__ ((__may_alias__)) *src_u |
| switch (len) | |
| if (len >=26) return __memcpy(dest | |
| if (__builtin_constant_p(offset)) | |
| __asm__ | __volatile__ ("rep stosb" :"=&D"(discard_D), "=&c"(discard_c) :"0"(dest), "1"(len), "a"(fill) :"memory") |
Variables | |
| static const void * | src |
| static const void size_t | len |
| const void * | esi = src |
| void * | edi = dest |
| if(len >=6 *4) __asm__ __volatile__("movsl" if(len >=5 *4) __asm__ __volatile__("movsl" if(len >=4 *4) __asm__ __volatile__("movsl" if(len >=3 *4) __asm__ __volatile__("movsl" if(len >=2 *4) __asm__ __volatile__("movsl" if(len >=1 *4) __asm__ __volatile__("movsl" if((len % 4) >=2) __asm__ __volatile__("movsw" if((len % 2) >=1) __asm__ __volatile__("movsb" return | dest |
| else | |
| static int | fill |
| size_t | discard_c |
| uint32_t | eax = 0 |
Optimised string operations.
Definition in file string.h.
| FILE_LICENCE | ( | GPL2_OR_LATER_OR_UBDL | ) |
| void* __memcpy | ( | void * | dest, |
| const void * | src, | ||
| size_t | len | ||
| ) |
Referenced by __memmove().
| void* __memcpy_reverse | ( | void * | dest, |
| const void * | src, | ||
| size_t | len | ||
| ) |
Referenced by __memmove(), and if().
|
inlinestatic |
Copy memory area (where length is a compile-time constant)
Fill memory region with zero (where length is a compile-time constant)
Fill memory region.
Copy (possibly overlapping) memory area.
Copy memory area.
| dest | Destination address |
| src | Source address |
| len | Length |
| dest | Destination address |
| dest | Destination address |
| fill | Fill pattern |
| len | Length |
| dest | Destination address |
| dest | Destination address |
| len | Length |
| dest | Destination address |
| const union @457 __attribute__ | ( | (__may_alias__) | ) |
| switch | ( | len | ) |
Definition at line 61 of file string.h.
References dest.
| if | ( | len >= | 26 | ) |
| if | ( | __builtin_constant_p(offset) | ) |
Definition at line 188 of file string.h.
References __memcpy_reverse(), dest, len, memcpy(), offset, and src.
| __asm__ __volatile__ | ( | ) |
| static const void * src |
Definition at line 47 of file string.h.
Referenced by __attribute__(), __memmove(), acpi_settings_fetch(), aes_decrypt(), aes_encrypt(), aes_unwrap(), aes_wrap(), arc4_skip(), arc4_xor(), bnxt_add_vlan(), bnxt_get_pkt_vlan(), cbc_decrypt(), cbc_encrypt(), cbc_xor(), ccmp_ctr_xor(), cipher_decrypt(), cipher_encrypt(), cipher_null_decrypt(), cipher_null_encrypt(), copy_to_real(), crc32_le(), des_decrypt(), des_encrypt(), dhcpv6_rx(), dns_copy(), ecb_decrypt(), ecb_encrypt(), efi_paths(), efi_pxe_udp_write(), efi_undi_fill_header(), efi_undi_receive(), ena_transmit(), eth_pio_read(), eth_pio_write(), exanic_transmit(), fbcon_draw(), fc_els_rx(), fc_xchg_rx(), gcc_implicit_memcpy(), gcm_decrypt(), gcm_encrypt(), gcm_process(), gcm_xor_block(), gdbstub_from_hex_buf(), gdbstub_to_hex_buf(), generic_memcpy(), generic_memcpy_reverse(), generic_memmove(), hv_wait_for_message(), if(), ipv4_route_okx(), ipv4_rx(), ipv6_route_okx(), ipv6_rx(), ipv6_tx(), memchr(), memcpy_0(), memcpy_1(), memcpy_10(), memcpy_11(), memcpy_12(), memcpy_13(), memcpy_14(), memcpy_15(), memcpy_16(), memcpy_17(), memcpy_18(), memcpy_19(), memcpy_2(), memcpy_20(), memcpy_21(), memcpy_22(), memcpy_23(), memcpy_24(), memcpy_25(), memcpy_26(), memcpy_27(), memcpy_28(), memcpy_29(), memcpy_3(), memcpy_30(), memcpy_31(), memcpy_4(), memcpy_5(), memcpy_6(), memcpy_7(), memcpy_8(), memcpy_9(), memcpy_test_speed(), memcpy_var(), mschapv2_expand_hash(), nii_sync(), shuffle(), smbios_fetch(), stpcpy(), strcat(), strchr(), strcpy(), strdup(), string_copy(), string_test_exec(), strlen(), strncpy(), strndup(), strnlen(), strrchr(), udp_tx(), uri_copy_fields(), and usb_settings_fetch().
| len |
Definition at line 47 of file string.h.
Referenced by if().
| esi = src |
Definition at line 58 of file string.h.
Referenced by __attribute__().
| void * edi = dest |
Definition at line 59 of file string.h.
Referenced by __attribute__().
| return dest |
Definition at line 150 of file string.h.
Referenced by __attribute__(), __memmove(), a3c90x_internal_ReadEeprom(), acpi_describe(), aes_unwrap(), aes_wrap(), arbel_fill_mlx_send_wqe(), arbel_fill_ud_send_wqe(), arbel_post_send(), ata_command(), bigint_copy_sample(), bigint_grow_sample(), bigint_shrink_sample(), block_capacity(), block_read(), block_read_capacity(), block_write(), bzimage_check_initrds(), ccmp_ctr_xor(), copy_encap_settings(), copy_from_real(), copy_from_real_libkir(), copy_settings(), dmfe_transmit(), edd_describe(), efi_describe(), efi_pxe_udp_write(), efi_undi_fill_header(), efi_undi_receive(), elf_load_segment(), elf_segment(), elfboot_check_segment(), ena_transmit(), eth_transmit(), fc_els_rx(), fc_els_tx(), fc_xchg_rx(), fc_xchg_tx(), gcc_implicit_memcpy(), gcc_implicit_memset(), generic_memcpy(), generic_memcpy_reverse(), generic_memmove(), generic_memset(), hermon_fill_mlx_send_wqe(), hermon_fill_ud_send_wqe(), hermon_post_send(), ib_complete_recv(), ib_post_send(), ib_pull(), ib_push(), ibft_alloc_string(), ibft_set_string(), ibft_set_string_setting(), identify_device(), if(), inet6_ntoa(), initrd_load_all(), intf_close(), intf_get_dest_op_no_passthru_untyped(), intf_get_dest_op_untyped(), intf_insert(), intf_plug(), intf_poke(), ipoib_complete_recv(), ipoib_transmit(), ipv4_netdev(), ipv4_route(), ipv4_route_okx(), ipv4_rx(), ipv6_netdev(), ipv6_route(), ipv6_route_okx(), ipv6_rx(), job_progress(), linda_complete_recv(), linda_post_send(), lkrn_exec(), memcpy_0(), memcpy_1(), memcpy_10(), memcpy_11(), memcpy_12(), memcpy_13(), memcpy_14(), memcpy_15(), memcpy_16(), memcpy_17(), memcpy_18(), memcpy_19(), memcpy_2(), memcpy_20(), memcpy_21(), memcpy_22(), memcpy_23(), memcpy_24(), memcpy_25(), memcpy_26(), memcpy_27(), memcpy_28(), memcpy_29(), memcpy_3(), memcpy_30(), memcpy_31(), memcpy_4(), memcpy_5(), memcpy_6(), memcpy_7(), memcpy_8(), memcpy_9(), memcpy_test_speed(), memcpy_var(), memset_var(), memset_zero_0(), memset_zero_1(), memset_zero_10(), memset_zero_11(), memset_zero_12(), memset_zero_13(), memset_zero_14(), memset_zero_15(), memset_zero_16(), memset_zero_17(), memset_zero_18(), memset_zero_19(), memset_zero_2(), memset_zero_20(), memset_zero_21(), memset_zero_22(), memset_zero_23(), memset_zero_24(), memset_zero_25(), memset_zero_26(), memset_zero_27(), memset_zero_28(), memset_zero_29(), memset_zero_3(), memset_zero_30(), memset_zero_31(), memset_zero_4(), memset_zero_5(), memset_zero_6(), memset_zero_7(), memset_zero_8(), memset_zero_9(), nbi_load_segment(), nbi_prepare_segment(), nbi_process_segments(), net80211_tx_mgmt(), peerdisc_stat(), pxenv_udp_write(), qib7322_complete_recv(), qib7322_post_send(), resize_dhcp_option(), resolv_done(), scsi_command(), scsi_response(), shuffle(), stpcpy(), strcat(), strcpy(), string_copy(), string_test_exec(), strncpy(), switch(), tcp_process_tx_queue(), tls_cipherstream_deliver(), udp_tx(), uri_copy_fields(), weierstrass_exec(), xfer_alloc_iob(), xfer_buffer(), xfer_deliver(), xfer_vredirect(), xfer_window(), xhci_enqueue(), and xsigo_xds_complete().
| else |
| static int fill |
Definition at line 208 of file string.h.
Referenced by ehci_ring_fill(), ehci_ring_remaining(), gve_offset(), memset_var(), net80211_probe_step(), uhci_ring_fill(), uhci_ring_remaining(), usb_prefill(), usbio_endpoint_enqueue(), usbio_interrupt_callback(), usbkbd_fill(), usbkbd_iskey(), vmbus_send(), vmxnet3_transmit(), xenstore_recv(), xenstore_send(), and xhci_ring_remaining().
| eax = 0 |
Definition at line 234 of file string.h.
Referenced by com32_cfarcall().
1.8.15