From mboxrd@z Thu Jan 1 00:00:00 1970 From: stefanha@gmail.com (Stefan Hajnoczi) Date: Tue, 6 Oct 2015 09:40:42 +0100 Subject: [Qemu-devel] [PATCH v3 1/4] firmware: introduce sysfs driver for QEMU's fw_cfg device In-Reply-To: <1443914889-9619-2-git-send-email-somlo@cmu.edu> References: <1443914889-9619-1-git-send-email-somlo@cmu.edu> <1443914889-9619-2-git-send-email-somlo@cmu.edu> Message-ID: <20151006084042.GC19089@stefanha-thinkpad> To: kernelnewbies@lists.kernelnewbies.org List-Id: kernelnewbies.lists.kernelnewbies.org On Sat, Oct 03, 2015 at 07:28:06PM -0400, Gabriel L. Somlo wrote: > +/* read chunk of given fw_cfg blob (caller responsible for sanity-check) */ > +static inline void fw_cfg_read_blob(u16 key, > + void *buf, loff_t pos, size_t count) > +{ > + mutex_lock(&fw_cfg_dev_lock); > + iowrite16(fw_cfg_sel_endianness(key), fw_cfg_reg_ctrl); > + while (pos-- > 0) > + ioread8(fw_cfg_reg_data); > + ioread8_rep(fw_cfg_reg_data, buf, count); > + mutex_unlock(&fw_cfg_dev_lock); > +} Have you had a chance to play with Marc Mari's fw_cfg DMA interface patches? They should make this operation much faster. https://www.mail-archive.com/qemu-devel at nongnu.org/msg325541.html Stefan