1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859 |
- #include "glib.h"
- #include "string.h"
- void __experimental_beep(uint64_t times)
- {
- io_out8(0x43, 182&0xff);
- io_out8(0x42, 2280&0xff);
- io_out8(0x42, (2280>>8)&0xff);
- uint32_t x = io_in8(0x61)&0xff;
- x |= 3;
- io_out8(0x61, x&0xff);
- times *= 10000;
- for(uint64_t i=0;i<times;++i)
- pause();
- x = io_in8(0x61);
- x &= 0xfc;
- io_out8(0x61, x&0xff);
-
- for(uint64_t i=0;i<times;++i)
- pause();
- }
- void *memmove(void *dst, const void *src, uint64_t size)
- {
- const char *_src = src;
- char *_dst = dst;
- if (!size)
- return dst;
-
- if (dst <= src)
- return memcpy(dst, src, size);
-
- _src += size;
- _dst += size;
-
- while (size--)
- *--_dst = *--_src;
- return dst;
- }
|