Commit Graph

568 Commits

Author SHA1 Message Date
1351c15bd0 taskman.inc: add comments for unobvious things, no code changes
git-svn-id: svn://kolibrios.org@8592 a494cfbc-eb01-0410-851d-a64ba20cac60
2021-02-13 23:42:08 +00:00
Coldy
44a5c1b211 Fixed 69.4. Bug, call with PID=2 stops the system process thereby freezing the entire system!
git-svn-id: svn://kolibrios.org@8534 a494cfbc-eb01-0410-851d-a64ba20cac60
2021-01-12 10:13:20 +00:00
609e822a2b Fix r8111 for APIC mode: Don't skip LAPIC initialization if already mapped.
git-svn-id: svn://kolibrios.org@8120 a494cfbc-eb01-0410-851d-a64ba20cac60
2020-10-28 18:08:08 +00:00
8e5b79b154 kernel: Don't read acpi_dev_* vars that if uninitialized.
Currently only uefi4kos loader initializes these variables. May be one
day BIOS loaders will load DEVICES.DAT file and initialize these vars
too, may be one day we will detect APIC IRQs via ACPI. But not today.

git-svn-id: svn://kolibrios.org@8117 a494cfbc-eb01-0410-851d-a64ba20cac60
2020-10-26 04:29:48 +00:00
a9121a0da9 kernel: Split acpi.inc and hpet.inc from init.inc.
Also, replace some hardcoded constants with macros.

git-svn-id: svn://kolibrios.org@8111 a494cfbc-eb01-0410-851d-a64ba20cac60
2020-10-21 14:23:51 +00:00
aaf1ac4439 Assert sizeof.APPDATA=256, use it instead of hardcoded 256 value.
git-svn-id: svn://kolibrios.org@8093 a494cfbc-eb01-0410-851d-a64ba20cac60
2020-10-12 02:54:44 +00:00
ab9b1ebb4a uefi4kos: Read config and kernel files from the disk.
* Now there is a config file with boot options, example included.
* Config, kernel and ramdisk are loaded from the disk, not compiled in.
* DEVICES.DAT file is also optionally loaded from the disk.
* Also, move the loader to /kernel/trunk/bootloader/uefi4kos.

git-svn-id: svn://kolibrios.org@8092 a494cfbc-eb01-0410-851d-a64ba20cac60
2020-10-06 03:32:57 +00:00
f8b90e92fa translate russian comments to english #3, no code changes
git-svn-id: svn://kolibrios.org@8052 a494cfbc-eb01-0410-851d-a64ba20cac60
2020-07-16 13:51:29 +00:00
5b284466d4 Translate russian comments to english #2 , no code changes
git-svn-id: svn://kolibrios.org@8051 a494cfbc-eb01-0410-851d-a64ba20cac60
2020-07-14 22:30:33 +00:00
4689014eb5 translate russian comments to english, no code changes
git-svn-id: svn://kolibrios.org@8050 a494cfbc-eb01-0410-851d-a64ba20cac60
2020-07-14 15:53:12 +00:00
8f21814292 Move slab allocator code from bus/usb/memory.inc to core/slab.inc.
git-svn-id: svn://kolibrios.org@8037 a494cfbc-eb01-0410-851d-a64ba20cac60
2020-06-11 13:23:44 +00:00
hidnplayr
5a633309ff ай-яй-яй: Fix #7967
git-svn-id: svn://kolibrios.org@7968 a494cfbc-eb01-0410-851d-a64ba20cac60
2020-05-22 15:44:06 +00:00
hidnplayr
d397ad5154 User-land ring buffers.
git-svn-id: svn://kolibrios.org@7967 a494cfbc-eb01-0410-851d-a64ba20cac60
2020-05-22 15:38:59 +00:00
hidnplayr
9ab5b699d5 Improved readability, no semantic changes.
git-svn-id: svn://kolibrios.org@7965 a494cfbc-eb01-0410-851d-a64ba20cac60
2020-05-21 13:55:36 +00:00
pavelyakov
a8324ce5d2 Does not work stably :(
git-svn-id: svn://kolibrios.org@7830 a494cfbc-eb01-0410-851d-a64ba20cac60
2020-04-27 19:50:59 +00:00
pavelyakov
585f0d6cbf Core: new function sys array
git-svn-id: svn://kolibrios.org@7828 a494cfbc-eb01-0410-851d-a64ba20cac60
2020-04-27 19:00:36 +00:00
cbceb320e8 kernel: Support more than one I/O APIC and 24 interrupts.
git-svn-id: svn://kolibrios.org@7733 a494cfbc-eb01-0410-851d-a64ba20cac60
2020-03-02 04:25:30 +00:00
pavelyakov
4200a751e8 По решению администрации убрал функцию
git-svn-id: svn://kolibrios.org@7327 a494cfbc-eb01-0410-851d-a64ba20cac60
2018-08-27 13:24:33 +00:00
pavelyakov
598bb537e9 Fixed error code and optimized function
git-svn-id: svn://kolibrios.org@7325 a494cfbc-eb01-0410-851d-a64ba20cac60
2018-08-27 10:26:47 +00:00
pavelyakov
e9a9823069 Fixed error
git-svn-id: svn://kolibrios.org@7323 a494cfbc-eb01-0410-851d-a64ba20cac60
2018-08-25 13:30:36 +00:00
pavelyakov
889dc1746b Fix style
git-svn-id: svn://kolibrios.org@7322 a494cfbc-eb01-0410-851d-a64ba20cac60
2018-08-25 13:27:47 +00:00
pavelyakov
3c1445e6c6 Added KERNEL process
git-svn-id: svn://kolibrios.org@7321 a494cfbc-eb01-0410-851d-a64ba20cac60
2018-08-25 13:22:48 +00:00
pavelyakov
343e87c60f Added function checksum security
git-svn-id: svn://kolibrios.org@7320 a494cfbc-eb01-0410-851d-a64ba20cac60
2018-08-25 10:09:02 +00:00
pavelyakov
bdc68077f4 Added Implementation of the function in the system - EAX = 81
git-svn-id: svn://kolibrios.org@7319 a494cfbc-eb01-0410-851d-a64ba20cac60
2018-08-24 23:55:36 +00:00
db8eddbd53 Enable xsave/xrstor, attempt 2.
git-svn-id: svn://kolibrios.org@7276 a494cfbc-eb01-0410-851d-a64ba20cac60
2018-05-13 00:16:10 +00:00
53a4fd1aef Disable xsave code until proper fix.
git-svn-id: svn://kolibrios.org@7199 a494cfbc-eb01-0410-851d-a64ba20cac60
2018-03-21 00:02:11 +00:00
CleverMouse
4286d7bac3 revert FpuSave/FpuRestore to old implementations because existing drivers don't know about AVX, provide alternate exports AvxSaveSize/AvxSave/AvxRestore
git-svn-id: svn://kolibrios.org@7168 a494cfbc-eb01-0410-851d-a64ba20cac60
2018-02-27 16:27:26 +00:00
CleverMouse
43e84d7672 fix FPU after r7124 for other CPU configurations
git-svn-id: svn://kolibrios.org@7165 a494cfbc-eb01-0410-851d-a64ba20cac60
2018-02-19 16:35:45 +00:00
CleverMouse
a49931c083 fix FPU after r7124
git-svn-id: svn://kolibrios.org@7164 a494cfbc-eb01-0410-851d-a64ba20cac60
2018-02-19 14:53:31 +00:00
0e02132b9f Replace 'equ' macros with '=' ones.
They appear in symbols file.
They don't require parentheses.
They are shorter.

git-svn-id: svn://kolibrios.org@7136 a494cfbc-eb01-0410-851d-a64ba20cac60
2017-12-20 01:07:10 +00:00
70ef44fcc1 Add tests to autobuild: mtrrtest and test_malloc.
git-svn-id: svn://kolibrios.org@7133 a494cfbc-eb01-0410-851d-a64ba20cac60
2017-12-17 02:30:54 +00:00
368d42ffae Update BOOT_DATA structure and use it instead of all the BOOT_* vars.
git-svn-id: svn://kolibrios.org@7132 a494cfbc-eb01-0410-851d-a64ba20cac60
2017-12-17 02:12:53 +00:00
9e6b9b61f7 Use xsave/xrestor if available, enable AVX* instructions.
git-svn-id: svn://kolibrios.org@7124 a494cfbc-eb01-0410-851d-a64ba20cac60
2017-12-05 05:24:21 +00:00
09684c0db9 Synchronize memmap.inc and const.inc, replace hardcoded numbers with macros.
git-svn-id: svn://kolibrios.org@7122 a494cfbc-eb01-0410-851d-a64ba20cac60
2017-11-29 22:03:58 +00:00
0CodErr
ea4f9aa063 remove unnecessary check
git-svn-id: svn://kolibrios.org@6974 a494cfbc-eb01-0410-851d-a64ba20cac60
2017-09-13 10:53:39 +00:00
Sergey Semyonov (Serge)
2cbf514c37 kernel: get_clock_ns() funny 96-bit arithmetic
git-svn-id: svn://kolibrios.org@6942 a494cfbc-eb01-0410-851d-a64ba20cac60
2017-08-11 16:17:30 +00:00
Sergey Semyonov (Serge)
d8ccef567e kernel: get_clock_ns() correction
git-svn-id: svn://kolibrios.org@6941 a494cfbc-eb01-0410-851d-a64ba20cac60
2017-08-11 14:55:17 +00:00
Sergey Semyonov (Serge)
af61cc97e8 kernel: initial pipe() support
git-svn-id: svn://kolibrios.org@6926 a494cfbc-eb01-0410-851d-a64ba20cac60
2017-06-15 22:36:39 +00:00
pathoswithin
a4a06a81a0 no need for manual heap initialization (68.11)
git-svn-id: svn://kolibrios.org@6893 a494cfbc-eb01-0410-851d-a64ba20cac60
2017-05-13 06:41:42 +00:00
a7cb2f3691 Set CR0.AM bit
Allow applications to get Alignment Check exception


git-svn-id: svn://kolibrios.org@6817 a494cfbc-eb01-0410-851d-a64ba20cac60
2016-12-26 23:29:27 +00:00
pathoswithin
755c9fe4d1 proper unicode support
git-svn-id: svn://kolibrios.org@6798 a494cfbc-eb01-0410-851d-a64ba20cac60
2016-12-15 17:38:17 +00:00
pathoswithin
8ac6d6b04c fix corruption of process termination output
git-svn-id: svn://kolibrios.org@6793 a494cfbc-eb01-0410-851d-a64ba20cac60
2016-12-09 13:26:43 +00:00
pathoswithin
f9f1eb0d75 preparation
git-svn-id: svn://kolibrios.org@6792 a494cfbc-eb01-0410-851d-a64ba20cac60
2016-12-09 09:48:32 +00:00
pathoswithin
8eb00f284b alternate ways of setting the string encoding for absolute paths
git-svn-id: svn://kolibrios.org@6758 a494cfbc-eb01-0410-851d-a64ba20cac60
2016-11-25 15:11:25 +00:00
CleverMouse
eb8c20f6c5 don't set_mtrr if only fixed MTRRs exist; fixes triple fault in VirtualBox on some CPUs
git-svn-id: svn://kolibrios.org@6721 a494cfbc-eb01-0410-851d-a64ba20cac60
2016-11-16 18:24:32 +00:00
CleverMouse
1a0ba3eb53 revert r6629: failed mtrr configuration can lead to terrible performance, it must be as visible as possible
git-svn-id: svn://kolibrios.org@6663 a494cfbc-eb01-0410-851d-a64ba20cac60
2016-11-03 14:07:13 +00:00
Kirill Lipatov (Leency)
842bc246a4 kernel: mtrr fail message is shown as debug now
git-svn-id: svn://kolibrios.org@6629 a494cfbc-eb01-0410-851d-a64ba20cac60
2016-10-28 09:30:57 +00:00
Sergey Semyonov (Serge)
18d0ffcc1c kernel: use undefined_syscall for undefined fn's in f68 family
git-svn-id: svn://kolibrios.org@6599 a494cfbc-eb01-0410-851d-a64ba20cac60
2016-10-16 20:32:10 +00:00
Sergey Semyonov (Serge)
d0092175df kernel: export acpi root table pointer
git-svn-id: svn://kolibrios.org@6590 a494cfbc-eb01-0410-851d-a64ba20cac60
2016-10-13 18:03:56 +00:00
pathoswithin
31fad3ee4a UTF-8 file path input, unicode names for apps and libs
git-svn-id: svn://kolibrios.org@6502 a494cfbc-eb01-0410-851d-a64ba20cac60
2016-08-25 19:30:08 +00:00
Sergey Semyonov (Serge)
42ff38aa22 kernel: mtdbg support code
git-svn-id: svn://kolibrios.org@6345 a494cfbc-eb01-0410-851d-a64ba20cac60
2016-03-16 08:48:55 +00:00
Sergey Semyonov (Serge)
22e9386a23 kernel: set maximum length of a stored application path name to 1023 bytes
git-svn-id: svn://kolibrios.org@6338 a494cfbc-eb01-0410-851d-a64ba20cac60
2016-03-13 10:30:38 +00:00
Sergey Semyonov (Serge)
8bb7273e0f hotfix r6333: copy full path
git-svn-id: svn://kolibrios.org@6337 a494cfbc-eb01-0410-851d-a64ba20cac60
2016-03-13 09:13:27 +00:00
Sergey Semyonov (Serge)
a316af7413 kernel: new app loader
git-svn-id: svn://kolibrios.org@6333 a494cfbc-eb01-0410-851d-a64ba20cac60
2016-03-13 06:08:07 +00:00
Sergey Semyonov (Serge)
7be51f22d5 kernel: minor cleaning
git-svn-id: svn://kolibrios.org@6318 a494cfbc-eb01-0410-851d-a64ba20cac60
2016-03-11 04:10:08 +00:00
Sergey Semyonov (Serge)
06644f770e kernel: framebuffers code
git-svn-id: svn://kolibrios.org@6263 a494cfbc-eb01-0410-851d-a64ba20cac60
2016-02-20 09:57:44 +00:00
Sergey Semyonov (Serge)
1c503b8257 kernel: fixed a bug with tls introduced in rev5130. Double facepalm.
git-svn-id: svn://kolibrios.org@6090 a494cfbc-eb01-0410-851d-a64ba20cac60
2016-01-23 10:08:21 +00:00
Sergey Semyonov (Serge)
419012b345 Fn77 - use -2 return value for EWOULDBLOCK.
git-svn-id: svn://kolibrios.org@6089 a494cfbc-eb01-0410-851d-a64ba20cac60
2016-01-23 02:36:00 +00:00
Sergey Semyonov (Serge)
25ecf7263e new Fn77 - fast user-space locking
git-svn-id: svn://kolibrios.org@6079 a494cfbc-eb01-0410-851d-a64ba20cac60
2016-01-19 01:02:44 +00:00
CleverMouse
dd4f527c54 leave more space for extended BIOS data
git-svn-id: svn://kolibrios.org@6016 a494cfbc-eb01-0410-851d-a64ba20cac60
2015-12-30 17:04:32 +00:00
CleverMouse
a64323c296 always install IDE interrupt handler
git-svn-id: svn://kolibrios.org@6015 a494cfbc-eb01-0410-851d-a64ba20cac60
2015-12-30 15:48:01 +00:00
hidnplayr
c81c3fbd4f Cosmetical changes in network code, updated TCP timer code.
git-svn-id: svn://kolibrios.org@6011 a494cfbc-eb01-0410-851d-a64ba20cac60
2015-12-27 15:37:31 +00:00
veliant
a9cad4a00a Disable 'unresolved' message for coff
git-svn-id: svn://kolibrios.org@5998 a494cfbc-eb01-0410-851d-a64ba20cac60
2015-12-22 08:08:31 +00:00
GerdtR
b4331f8494 Added f18.25: the ability to make a window on top of all and behind all
git-svn-id: svn://kolibrios.org@5836 a494cfbc-eb01-0410-851d-a64ba20cac60
2015-10-09 13:59:11 +00:00
Sergey Semyonov (Serge)
a410b6abe3 Kernel: use 22.10 fixed point arithmetic in HPET timestamp calculation.
git-svn-id: svn://kolibrios.org@5791 a494cfbc-eb01-0410-851d-a64ba20cac60
2015-09-04 11:50:27 +00:00
Sergey Semyonov (Serge)
a1e19e9f62 Kernel: minor cleanup
git-svn-id: svn://kolibrios.org@5788 a494cfbc-eb01-0410-851d-a64ba20cac60
2015-09-03 14:52:02 +00:00
Sergey Semyonov (Serge)
530a133818 Kernel: Initial HPET support
git-svn-id: svn://kolibrios.org@5787 a494cfbc-eb01-0410-851d-a64ba20cac60
2015-09-03 14:47:08 +00:00
Sergey Semyonov (Serge)
1888797ed4 trunk: merge kolibri-acpi code
git-svn-id: svn://kolibrios.org@5595 a494cfbc-eb01-0410-851d-a64ba20cac60
2015-07-22 11:17:45 +00:00
CleverMouse
a0f73145c4 add debug log for driver mappings
git-svn-id: svn://kolibrios.org@5559 a494cfbc-eb01-0410-851d-a64ba20cac60
2015-05-25 15:44:26 +00:00
hidnplayr
0ba1fff7a7 New network buffers - phase I
git-svn-id: svn://kolibrios.org@5522 a494cfbc-eb01-0410-851d-a64ba20cac60
2015-03-17 21:50:29 +00:00
Sergey Semyonov (Serge)
30b7f0c761 kernel: fix very unusual problem with tls
git-svn-id: svn://kolibrios.org@5376 a494cfbc-eb01-0410-851d-a64ba20cac60
2015-01-15 11:16:40 +00:00
Sergey Semyonov (Serge)
3b36db1909 kernel: fix stupid bug in map_page_table()
git-svn-id: svn://kolibrios.org@5365 a494cfbc-eb01-0410-851d-a64ba20cac60
2015-01-09 02:20:21 +00:00
Yogev Ezra
76a0cbdfe5 Change copyright year in kernel and drivers to 2015. No code changes.
git-svn-id: svn://kolibrios.org@5363 a494cfbc-eb01-0410-851d-a64ba20cac60
2015-01-08 20:10:22 +00:00
Sergey Semyonov (Serge)
75873a0173 kernel: enable write combined memory type
git-svn-id: svn://kolibrios.org@5360 a494cfbc-eb01-0410-851d-a64ba20cac60
2015-01-06 23:07:34 +00:00
Sergey Semyonov (Serge)
2ce28a4047 kernel: total globalization
git-svn-id: svn://kolibrios.org@5359 a494cfbc-eb01-0410-851d-a64ba20cac60
2015-01-06 16:09:34 +00:00
Sergey Semyonov (Serge)
82d7c79bd5 kernel: validate PTE bits before mapping
git-svn-id: svn://kolibrios.org@5357 a494cfbc-eb01-0410-851d-a64ba20cac60
2015-01-06 15:24:09 +00:00
Sergey Semyonov (Serge)
b4814c7084 kernel: update PTE bits
git-svn-id: svn://kolibrios.org@5356 a494cfbc-eb01-0410-851d-a64ba20cac60
2015-01-06 14:53:54 +00:00
Sergey Semyonov (Serge)
ff063f54ce kernel: combine display related data in one structure
git-svn-id: svn://kolibrios.org@5351 a494cfbc-eb01-0410-851d-a64ba20cac60
2015-01-05 17:59:03 +00:00
Sergey Semyonov (Serge)
5c0b9990c8 kernel: remove Screen_Max_X and Screen_Max_Y variables
git-svn-id: svn://kolibrios.org@5350 a494cfbc-eb01-0410-851d-a64ba20cac60
2015-01-05 17:18:45 +00:00
Sergey Semyonov (Serge)
966e9d897b kernel: read/write locks, part 2
git-svn-id: svn://kolibrios.org@5344 a494cfbc-eb01-0410-851d-a64ba20cac60
2015-01-04 15:21:46 +00:00
Sergey Semyonov (Serge)
92d3d6c2c8 kernel: read/write locks, part 1
git-svn-id: svn://kolibrios.org@5343 a494cfbc-eb01-0410-851d-a64ba20cac60
2015-01-04 11:04:39 +00:00
Sergey Semyonov (Serge)
2f6c0cead9 kernel: initialize handle table
git-svn-id: svn://kolibrios.org@5202 a494cfbc-eb01-0410-851d-a64ba20cac60
2014-12-01 04:35:53 +00:00
Sergey Semyonov (Serge)
c28f6e1a01 kernel: hotfix for 5130
git-svn-id: svn://kolibrios.org@5165 a494cfbc-eb01-0410-851d-a64ba20cac60
2014-11-04 06:00:48 +00:00
Sergey Semyonov (Serge)
76d618357e kernel: kolibri-process merged into trunk. This is my little gift to myself for my birthday.
git-svn-id: svn://kolibrios.org@5130 a494cfbc-eb01-0410-851d-a64ba20cac60
2014-09-18 07:58:56 +00:00
CleverMouse
99959f9109 remove support for COFF drivers
git-svn-id: svn://kolibrios.org@5088 a494cfbc-eb01-0410-851d-a64ba20cac60
2014-09-03 12:05:44 +00:00
CleverMouse
727d1c9b53 fix SB16 driver broken in r3727, convert to PE
git-svn-id: svn://kolibrios.org@5057 a494cfbc-eb01-0410-851d-a64ba20cac60
2014-08-25 09:49:27 +00:00
CleverMouse
21132138a1 support for stripped PE headers in drivers; declare COFF drivers deprecated
git-svn-id: svn://kolibrios.org@5039 a494cfbc-eb01-0410-851d-a64ba20cac60
2014-08-18 11:18:15 +00:00
CleverMouse
cd8fe59acc don't rely on BIOS for returning to real mode
git-svn-id: svn://kolibrios.org@5032 a494cfbc-eb01-0410-851d-a64ba20cac60
2014-08-15 11:18:27 +00:00
Sergey Semyonov (Serge)
93d8cf8231 kernel: export change_task as "ChangeTask"
git-svn-id: svn://kolibrios.org@4927 a494cfbc-eb01-0410-851d-a64ba20cac60
2014-05-19 10:01:59 +00:00
Sergey Semyonov (Serge)
6f2aa3f1f1 kernel: fn69.1 - get simd context
mtdbg: display contents of mmx registers

git-svn-id: svn://kolibrios.org@4893 a494cfbc-eb01-0410-851d-a64ba20cac60
2014-04-24 23:03:14 +00:00
Marat Zakiyanov (Mario79)
da8c332884 Added the tag "Revision: XXXX" in some kernel files, to form the right number of revision at boot (blue boot screen).
git-svn-id: svn://kolibrios.org@4850 a494cfbc-eb01-0410-851d-a64ba20cac60
2014-04-17 21:19:45 +00:00
Marat Zakiyanov (Mario79)
ba19a6400d Kernel supports up to three IDE controllers, and all the devices connected to them
git-svn-id: svn://kolibrios.org@4700 a494cfbc-eb01-0410-851d-a64ba20cac60
2014-03-27 20:44:32 +00:00
CleverMouse
43101a8623 r4619
git-svn-id: svn://kolibrios.org@4619 a494cfbc-eb01-0410-851d-a64ba20cac60
2014-03-07 10:57:58 +00:00
CleverMouse
1a23d648fd add test data
git-svn-id: svn://kolibrios.org@4610 a494cfbc-eb01-0410-851d-a64ba20cac60
2014-03-04 14:01:49 +00:00
CleverMouse
b1cb69355f reconfigure MTRRs after BIOS, enable write-combining framebuffer in more configurations
git-svn-id: svn://kolibrios.org@4608 a494cfbc-eb01-0410-851d-a64ba20cac60
2014-03-04 13:58:20 +00:00
CleverMouse
8454f182c5 hardware cursors for RDC M2010/M2012
git-svn-id: svn://kolibrios.org@4453 a494cfbc-eb01-0410-851d-a64ba20cac60
2014-01-14 20:50:19 +00:00
Sergey Semyonov (Serge)
3e99300152 kernel: minor optimizations
git-svn-id: svn://kolibrios.org@4424 a494cfbc-eb01-0410-851d-a64ba20cac60
2014-01-02 19:43:51 +00:00
CleverMouse
88c24f6c96 fix relocations handler in PE drivers
git-svn-id: svn://kolibrios.org@4421 a494cfbc-eb01-0410-851d-a64ba20cac60
2013-12-30 12:04:30 +00:00
CleverMouse
a10422fbce separate USB host controller code into external drivers
git-svn-id: svn://kolibrios.org@4418 a494cfbc-eb01-0410-851d-a64ba20cac60
2013-12-30 11:18:33 +00:00
CleverMouse
0fb3c4300c KernelAlloc/KernelFree are called from IRQ handlers in network drivers, so make them spinlock-protected instead of mutex-protected
git-svn-id: svn://kolibrios.org@4391 a494cfbc-eb01-0410-851d-a64ba20cac60
2013-12-20 17:38:01 +00:00