AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Thema durchsuchen
Ansicht
Themen-Optionen

core2duotemp.c to core2duotemp.pas

Ein Thema von hathor · begonnen am 5. Aug 2007 · letzter Beitrag vom 31. Mai 2008
Antwort Antwort
Seite 2 von 7     12 34     Letzte »    
Apollonius

Registriert seit: 16. Apr 2007
2.325 Beiträge
 
Turbo Delphi für Win32
 
#11

Re: core2duotemp.c to core2duotemp.pas

  Alt 7. Aug 2007, 11:19
Wo genau liegen denn deine Probleme bei der Übersetzung. Ich vermute mal, dass du ein bisschen C kannst (Grundkenntnisse sind ja nicht schwierig), und ich habe jetzt ehrlich gesagt keine Lust, dass aus dem Stand zu übersetzen. Die cpu.h ist kein Standard, die bräuchte man zur Übersetzung auch.
Wer erweist der Welt einen Dienst und findet ein gutes Synonym für "Pointer"?
"An interface pointer is a pointer to a pointer. This pointer points to an array of pointers, each of which points to an interface function."
  Mit Zitat antworten Zitat
hathor
(Gast)

n/a Beiträge
 
#12

Re: core2duotemp.c to core2duotemp.pas

  Alt 7. Aug 2007, 11:30
cpu.h ? - OK - here it is...
Delphi-Quellcode:

/*-
 * Copyright (c) 2006 Stanislav Sedov <stas@FreeBSD.org>
 * All rights reserved.
 *
 * Redistribution and use in source and binary forms, with or without
 * modification, are permitted provided that the following conditions
 * are met:
 * 1. Redistributions of source code must retain the above copyright
 * notice, this list of conditions and the following disclaimer.
 * 2. Redistributions in binary form must reproduce the above copyright
 * notice, this list of conditions and the following disclaimer in the
 * documentation and/or other materials provided with the distribution.
 *
 * THIS SOFTWARE IS PROVIDED BY THE AUTHOR AND CONTRIBUTORS ``AS IS'AND
 * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
 * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
 * ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS BE LIABLE
 * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
 * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
 * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
 * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
 * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
 * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
 * SUCH DAMAGE.
 *
 * $MBSDlabs: devcpu/cpu/cpu.h,v 1.4 2006/12/08 22:32:35 stas Exp $
 *
 */

#ifndef _CPU_H_
#define _CPU_H_

typedef struct {
   int      msr;   /* MSR to read */
   uint64_t   data;
}
 cpu_msr_args_t;

typedef struct {
   int      level; /* CPUID level */
   uint32_t   data[4];
}
 cpu_cpuid_args_t;

typedef struct {
   void   *data;
   size_t   size;
}
 cpu_update_args_t;

#define CPU_RDMSR   _IOWR('c', 1, cpu_msr_args_t)
#define CPU_WRMSR   _IOWR('c', 2, cpu_msr_args_t)
#define CPU_CPUID   _IOWR('c', 3, cpu_cpuid_args_t)
#define CPU_UPDATE   _IOWR('c', 4, cpu_update_args_t)

#define INTEL_VENDOR_ID   "GenuineIntel"
#define AMD_VENDOR_ID   "AuthenticAMD"

#define MSR_K8_UCODE_UPDATE 0xc0010020

#endif /* _CPU_H_ */
  Mit Zitat antworten Zitat
Gruber_Hans_12345

Registriert seit: 14. Aug 2004
1.439 Beiträge
 
Delphi 2007 Professional
 
#13

Re: core2duotemp.c to core2duotemp.pas

  Alt 7. Aug 2007, 11:33
dir ist schon klar, das solche sachen NUR auf Linux systemen funktioniert?
Gruss Hans

2B or not 2B, that is FF
  Mit Zitat antworten Zitat
hathor
(Gast)

n/a Beiträge
 
#14

Re: core2duotemp.c to core2duotemp.pas

  Alt 7. Aug 2007, 11:42
Zitat von Gruber_Hans_12345:
dir ist schon klar, das solche sachen NUR auf Linux systemen funktioniert?
Du willst doch hoffentlich mit dieser unsinnigen Behauptung nicht alle Interessenten abschrecken - oder?

Die AMD-K8-Temperatur(en) kann man doch auch mit DELPHI unter WINDOWS auslesen - was habt Ihr denn alle für eine Riesenangst, wenn Ihr den Pfad der WINDOWS-(Un)tugend verlasst?

Seit Jahren wird dies und das behauptet von Leuten, die KEINE Ahnung haben, aber überall ihren Senf dazugeben müssen!!!
  Mit Zitat antworten Zitat
Gruber_Hans_12345

Registriert seit: 14. Aug 2004
1.439 Beiträge
 
Delphi 2007 Professional
 
#15

Re: core2duotemp.c to core2duotemp.pas

  Alt 7. Aug 2007, 11:53
Zitat von hathor:
Zitat von Gruber_Hans_12345:
dir ist schon klar, das solche sachen NUR auf Linux systemen funktioniert?
Du willst doch hoffentlich mit dieser unsinnigen Behauptung nicht alle Interessenten abschrecken - oder?

Die AMD-K8-Temperatur(en) kann man doch auch mit DELPHI unter WINDOWS auslesen - was habt Ihr denn alle für eine Riesenangst, wenn Ihr den Pfad der WINDOWS-(Un)tugend verlasst?

Seit Jahren wird dies und das behauptet von Leuten, die KEINE Ahnung haben, aber überall ihren Senf dazugeben müssen!!!
also ich glaub eich habe soviel ahnung von linux und windows, das ich ruhigen gewissen behaupten kann, das der obige code (speziell das fd = open("/dev/cpu0", O_RDWR, 0) unter Windows NICHT funktionieren kann, und dieses Stückchen code ist dafür da, um alle infos auszulesen.
und da das System von /dev/cpu0 unter Windows nicht implementiert ist, muß man da mit sicherheit ganz andere wege suchen (du kannst ja mal versuchen in der registry zu suchen)

aber fakt ist, das der weg den c source zu übersetzen mit sicherheit scheitert wird (auf windows systemen)
Gruss Hans

2B or not 2B, that is FF
  Mit Zitat antworten Zitat
Muetze1
(Gast)

n/a Beiträge
 
#16

Re: core2duotemp.c to core2duotemp.pas

  Alt 7. Aug 2007, 12:29
Zitat von hathor:
Seit Jahren wird dies und das behauptet von Leuten, die KEINE Ahnung haben, aber überall ihren Senf dazugeben müssen!!!
Dann beweise doch bitte mal dass du Ahnung hast lese mal bitte ein MSR Register "mit DELPHI unter WINDOWS" aus und zeig mal den Code.

Gut gebrüllt, Löwe...

Um es nochmals zu wiederholen: Linux bietet mit den symbolischen Gerätelinks einen direkten Weg Informationen aus dem Ring-0 (Kernel) zur Anwenderschicht (Ring-3) zu übermitteln. Diesen Weg hast du unter Windows nicht. Du hast somit das Problem keinen Aufruf in deiner Ring-3 Applikation zu machen um ein MSR Register auszulesen (RDMSR). Statt dessen haut dir Windows auf die Finger mit einer Exception über eine priviligierte Anweisung.

Probier es aus:
Delphi-Quellcode:
function TryIt; Assembler;
asm
  pushad
  mov eax, 1
  RDMSR
  popad
end;
/EDIT: Wobei ich mich gerade Frage, ob der interne Assembler die Instruction RDMSR über decodiert. Das muss wahrscheinlich mit define byte hardcodiert werden...
  Mit Zitat antworten Zitat
hathor
(Gast)

n/a Beiträge
 
#17

Re: core2duotemp.c to core2duotemp.pas

  Alt 7. Aug 2007, 12:47
amd64coretemp

Bei Intel Prozessoren werden die Temperaturen aus dem MSR (Model Specific Register) und bei AMD Prozessoren aus einem Register in der NB ausgelesen.
Angehängte Dateien
Dateityp: zip amd64ct_191.zip (91,3 KB, 69x aufgerufen)
  Mit Zitat antworten Zitat
Muetze1
(Gast)

n/a Beiträge
 
#18

Re: core2duotemp.c to core2duotemp.pas

  Alt 7. Aug 2007, 13:06
Zitat von hathor:
Bei Intel Prozessoren werden die Temperaturen aus dem MSR (Model Specific Register) und bei AMD Prozessoren aus einem Register in der NB ausgelesen.
Löst wie angesprochen noch immer nicht das Problem bei den intel Core2Duo bzw. Intel CPUs mit Sensor. Schliesslich liegt genau dort das angesprochene Problem.
  Mit Zitat antworten Zitat
Mark90
(Gast)

n/a Beiträge
 
#19

Re: core2duotemp.c to core2duotemp.pas

  Alt 7. Aug 2007, 17:17
HI,

auf Codegear habe ich vorkurzem gesehen, dass man (ich schätzte mal sofern man c++ builder und delphi hat) auch c++ units oder komponenten in delphi oder anders rum verwenden kann. Ich hab den artikel nicht gelesen und kann daher auch nicht bestätigen ob dies geht!

wenn es gienge wäre es auf jedenfall eine teure angelegenheit!
  Mit Zitat antworten Zitat
Muetze1
(Gast)

n/a Beiträge
 
#20

Re: core2duotemp.c to core2duotemp.pas

  Alt 7. Aug 2007, 19:02
Zitat von Mark90:
auf Codegear habe ich vorkurzem gesehen, dass man (ich schätzte mal sofern man c++ builder und delphi hat) auch c++ units oder komponenten in delphi oder anders rum verwenden kann. Ich hab den artikel nicht gelesen und kann daher auch nicht bestätigen ob dies geht!

wenn es gienge wäre es auf jedenfall eine teure angelegenheit!
Schön, nett aber überhaupt nicht neu. Damit programmiere ich täglich auf Arbeit: C++ Teile und Delphi Programmteile zusammen ein Programm. Und was bringt uns das nun in diesem Thread? Auch wenn das C++ Quellcode ist, das ist Schnuppe. Das ist nicht der Grund, warum man es nicht portieren kann, sondern weil der Code spezielle Geräte eines Linux Betriebssystems verwendet und somit nicht unter Windows lauffähig ist, da es diese Geräte dort nicht gibt. Es ist eine Sache des Betriebssystems, nicht der Sprache...
  Mit Zitat antworten Zitat
Antwort Antwort
Seite 2 von 7     12 34     Letzte »    


Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 07:01 Uhr.
Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz