why would someone reinvent the kernel space read/write routines?

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

 



  recently perusing someone's module code and ran across the following
definitions for reading/writing either 8, 16 or 32 bits:

  unsigned char read8(void* address)
  {
	return *((unsigned char*) address);
  }

and so on for read16 and read32, as well as the converse for writing.
i was a bit puzzled by this since i was under the impression that
normal kernel source provides the universal primitives inb(), inw(),
inl(), outb(), outw() and outl(), no?  shouldn't one expect to have
those routines defined regardless of the architecture?  and wouldn't
they have the same semantics in kernel space?

  when i asked the author, he admitted that he'd never known of the
in/out kernel I/O routines, but opined that he wasn't going to rewrite
his code as his routines were (and i'm quoting here) "more precise."

  i have no idea what that means.  is there something about standard
kernel-space routines that i'm missing here?  i'm just curious.

rday
--

========================================================================
Robert P. J. Day
Linux Consulting, Training and Annoying Kernel Pedantry:
    Have classroom, will lecture.

http://crashcourse.ca                          Waterloo, Ontario, CANADA
========================================================================

--
To unsubscribe from this list: send an email with
"unsubscribe kernelnewbies" to ecartis@xxxxxxxxxxxx
Please read the FAQ at http://kernelnewbies.org/FAQ


[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