Page MenuHomeFreeBSD

D35937.id108799.diff
No OneTemporary

D35937.id108799.diff

Index: sys/compat/linuxkpi/common/include/linux/math64.h
===================================================================
--- sys/compat/linuxkpi/common/include/linux/math64.h
+++ sys/compat/linuxkpi/common/include/linux/math64.h
@@ -100,4 +100,23 @@
#define DIV64_U64_ROUND_UP(...) \
div64_u64_round_up(__VA_ARGS__)
+static inline uint64_t
+mul_u64_u32_div(uint64_t x, uint32_t y, uint32_t div)
+{
+ const uint64_t rem = x % div;
+
+ return (x / div) * y + (rem * y) / div;
+}
+
+static inline uint64_t
+mul_u64_u32_shr(uint64_t x, uint32_t y, unsigned int shift)
+{
+ uint32_t hi, lo;
+ hi = x >> 32;
+ lo = x & 0xffffffff;
+
+ return (mul_u32_u32(lo, y) >> shift) +
+ (mul_u32_u32(hi, y) << (32 - shift));
+}
+
#endif /* _LINUXKPI_LINUX_MATH64_H */

File Metadata

Mime Type
text/plain
Expires
Tue, Nov 25, 5:28 PM (19 h, 1 m)
Storage Engine
blob
Storage Format
Raw Data
Storage Handle
26154534
Default Alt Text
D35937.id108799.diff (762 B)

Event Timeline