Regarding implementation of copy_from_user() and copy_to_user()

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



Hi All,

I am trying to understand the implementation of copy_from_user() and copy_to_user() implementation in linux. I know the basics of asm format. But i don't know what is 
.section .fixup
.previous
.align 4

Can u please point me to a detailed documentation of asm details involving the above?

Thanks,
Seshikanth

 320 * Tell gcc we read from memory instead of writing: this is because
 321 * we do not write to any memory gcc knows about, so there are no
 322 * aliasing issues.
 323 */
 324#define __put_user_asm(x, addr, err, itype, rtype, ltype, errret)       \
 325        __asm__ __volatile__(                                           \
 326                "1:     mov"itype" %"rtype"1,%2\n"                      \
 327                "2:\n"                                                  \
 328                ".section .fixup,\"ax\"\n"                              \
 329                "3:     movl %3,%0\n"                                   \
 330                "       jmp 2b\n"                                       \
 331                ".previous\n"                                           \
 332                ".section __ex_table,\"a\"\n"                           \
 333                "       .align 4\n"                                     \
 334                "       .long 1b,3b\n"                                  \
 335                ".previous"                                             \
 336                : "=r"(err)                                             \
 337                : ltype (x), "m"(__m(addr)), "i"(errret), "0"(err))
 338
 339

--
Regards,
Seshikanth

[Index of Archives]     [Newbies FAQ]     [Linux Kernel Mentors]     [Linux Kernel Development]     [IETF Annouce]     [Git]     [Networking]     [Security]     [Bugtraq]     [Yosemite]     [MIPS Linux]     [ARM Linux]     [Linux RAID]     [Linux SCSI]     [Linux ACPI]
  Powered by Linux