--- /dev/null
+\r
+#include "core.h"\r
+\r
+void gen_UUID(UUID *uuid)\r
+{\r
+ uint tsc[2];\r
+\r
+ /*from date*/\r
+ srand((uint)readcmos(0x32));\r
+ uuid->data[0] = (uchar)rand();\r
+\r
+ srand((uint)readcmos(0x09));\r
+ uuid->data[1] = (uchar)rand();\r
+\r
+ srand((uint)readcmos(0x08));\r
+ uuid->data[2] = (uchar)rand();\r
+\r
+ srand((uint)readcmos(0x07));\r
+ uuid->data[3] = (uchar)rand();\r
+\r
+ srand((uint)readcmos(0x04));\r
+ uuid->data[4] = (uchar)rand();\r
+\r
+ srand((uint)readcmos(0x02));\r
+ uuid->data[5] = (uchar)rand();\r
+\r
+ srand((uint)readcmos(0x00));\r
+ uuid->data[6] = (uchar)rand();\r
+\r
+ /*from tsc*/\r
+ read_tsc(tsc);\r
+ srand((uint)(tsc[0] & 0x000000ff));\r
+ uuid->data[7] = (uchar)rand();\r
+\r
+ read_tsc(tsc);\r
+ srand((uint)(tsc[0] & 0x0000ff00) >> 8);\r
+ uuid->data[8] = (uchar)rand();\r
+\r
+ read_tsc(tsc);\r
+ srand((uint)(tsc[0] & 0x00ff0000) >> 16);\r
+ uuid->data[9] = (uchar)rand();\r
+\r
+ read_tsc(tsc);\r
+ srand((uint)(tsc[0] >> 24));\r
+ uuid->data[10] = (uchar)rand();\r
+\r
+ read_tsc(tsc);\r
+ srand((uint)(tsc[1] & 0x000000ff));\r
+ uuid->data[11] = (uchar)rand();\r
+\r
+ read_tsc(tsc);\r
+ srand((uint)(tsc[1] & 0x0000ff00) >> 8);\r
+ uuid->data[12] = (uchar)rand();\r
+\r
+ read_tsc(tsc);\r
+ srand((uint)(tsc[1] & 0x00ff0000) >> 16);\r
+ uuid->data[13] = (uchar)rand();\r
+\r
+ read_tsc(tsc);\r
+ srand((uint)(tsc[1] >> 24));\r
+ uuid->data[14] = (uchar)rand();\r
+\r
+ read_tsc(tsc);\r
+ uuid->data[15] = (uchar)(tsc[1] & 0x000000ff);\r
+\r
+ return;\r
+}\r